Воспроизведение mp3-файлов и управление ими на Python?
-
13-09-2019 - |
Вопрос
Перво-наперво, я новичок в Python, с типичным опытом работы на C ++ / Java для объектно-ориентированных материалов.
Меня убедили попробовать Python для этого текущего проекта, над которым я работаю, и пока он мне нравится.Однако одна из проблем, с которой я столкнулся, - это поиск хорошего mp3-модуля.
Я пробовал TkSnack, который устанавливался и работал нормально, без ошибок (пока мое аудиоустройство не было занято), но на самом деле он никогда не мог воспроизводить звук, он просто ничего не делал...Я обратился за помощью в Интернет и был разочарован количеством документации.
Поэтому я решил поменяться местами.Я попробовал PyMad, потому что он также есть в стандартных репозиториях для Ubuntu.Документации по этому поводу было еще меньше, но я мог заставить его воспроизводить звук.Единственная проблема заключается в том, что для постоянной записи / воспроизведения аудиобуфера требуется цикл.Это делает управление воспроизведением особенно сложным (на мой взгляд), потому что мне пришлось бы запускать это в отдельном потоке или процессе и каким-то образом контролировать позицию поиска для паузы и тому подобное.Это слишком низкий уровень для того, почему я использую Python.Мне понравилась простота TkSnack из-за его простых команд, таких как "mysound.play()" или "mysound.pause()", а не управления циклом.
Я также посмотрел на PyMedia, которая выглядит как самая современная документация, но я не могу установить ее на свой компьютер.Я получаю ошибку "gcc завершен со значением 1" или что-то в этом роде при запуске команды "python setup.py build".
Поэтому я ищу любые предложения или помощь по одному из этих модулей или совершенно другому, высокоуровневому и простому в использовании для mp3-файлов (и, желательно, других форматов) Я пытаюсь иметь базовое управление воспроизведением (пауза, остановка, пропуск, поиск), и в конечном итоге я также могу передавать потоковые файлы (если у меня когда-нибудь получится).
Редактировать:Мне нравятся привязки python для Gstreamer, но является ли это кроссплатформенным решением??Я забыл упомянуть об этом как о требовании.Но я всегда просто ассоциировал GStreamer с Linux, будет ли это работать на других ОС?
Редактировать:В Википедии говорится ДА.
Решение
Извините, я не могу помочь вам с PyMad или PyMedia, но у меня есть другие предложения.
Существующие музыкальные проигрыватели, написанные на Python:
Все вышеперечисленное использует Привязки к Python для Gпоток мультимедийный фреймворк.Документов для привязок мало, но проверьте здесь, здесь, здесь, и примеры из исходного дистрибутива здесь.