Воспроизведение и управление mp3 файлами на Python?


Во-первых, я новичок в Python, с типичным фоном C++/Java для объектно-ориентированных вещей.

Я был убежден попробовать Python для этой текущей работы, над которой я работаю, и пока мне это нравится. Одна из проблем, с которой я сталкиваюсь, - это поиск хорошего mp3-модуля.

Я пробовал TkSnack, который устанавливался и работал нормально без ошибок (пока мое аудиоустройство не было занято), но он никогда не мог производить звук, он просто ничего не делал... Я зашел в интернет за помощью и был там. разочарован количеством документации.

Поэтому я решил переключиться. Я попробовал PyMad, потому что он также находится в стандартных репозиториях для Ubuntu. Там было еще меньше документации по этому вопросу, но я мог заставить его воспроизводить звук. Единственная проблема заключается в том, что для постоянной записи/воспроизведения звукового буфера требуется цикл. Это делает его особенно волосатым для обработки управления воспроизведением (на мой взгляд), потому что я должен был бы запустить это в отдельном потоке или процессе и как-то управлять поиском положение для паузы и тому подобное. Это немного слишком низкий уровень для того, почему я использую Python. Мне понравилась простота TkSnack за его простые команды, такие как " mysound.play () " или " mysound.pause () " вместо управления циклом.

Я также посмотрел на pyMedia, которая выглядит как самая современная документация, но я не могу установить ее на свою машину. Я получаю ошибку" gcc exited with value 1 "или что-то подобное при запуске" python setup.py команда "построить".

Так я и есть в поисках каких-либо предложений или помощи по одному из этих модулей или совершенно другому, который является высокоуровневым и простым в использовании для MP3-файлов(и предпочтительно других форматов тоже), я пытаюсь иметь базовое управление воспроизведением(пауза, остановка, пропуск, поиск), и я также могу быть потоковыми файлами тоже в конечном счете(если я когда-нибудь туда попаду).

EDIT : мне нравятся привязки python для Gstreamer, но является ли это кроссплатформенным решением?? Я забыл упомянуть об этом как о требовании. Но я всегда просто ассоциировал GStreamer с Linux, будет ли это работать на других ОС?

Редактировать : Википедия говорит Да.

2 5

2 ответа:

Извините, что не могу помочь вам с PyMad или pyMedia, но у меня есть другие предложения.

Существующие музыкальные проигрыватели, написанные на Python:

Все вышеперечисленное использует привязки Python для GStreamer мультимедийного фреймворка. Документов для Привязок мало, но проверьте здесь, здесь, Вот , и примеры из исходного дистрибутива здесь .

Мне просто пришлось иметь дело с этим, и из моих исследований я думаю, что ваши лучшие ставки-этоpygl иpygame . Это интерфейсные пакеты со встроенной поддержкой a/V.