Воспроизведение и управление 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 build».

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

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

EDIT : Википедия говорит « да» .

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

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

  • Exaile
  • FUPlayer
  • Слушать

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

Я просто должен был справиться с этим, и из моих исследований я считаю, что ваши лучшие ставки – это пиглет и пирог . Это интерфейсные пакеты со встроенной поддержкой a / v.