2009-04-23 11 views
5

Lo primero es lo primero, soy un principiante de Python, con un fondo típico de C++/Java para cosas orientadas a objetos.Reproducción y control de archivos mp3 en Python?

Estaba convencido de probar Python para este esfuerzo actual en el que estoy trabajando, y hasta ahora me gusta. Un problema que estoy teniendo es encontrar un buen módulo mp3.

He probado TkSnack, que se instaló y funcionó bien sin errores (siempre que mi dispositivo de audio no estuviese ocupado) pero nunca podría producir un sonido, simplemente no hizo nada ... Entré en línea para obtener ayuda , y estaba decepcionado con la cantidad de documentación.

Así que decidí cambiar. Intenté PyMad porque está en los repositorios estándar para Ubuntu también. Había incluso menos documentación sobre esto, pero podría hacerlo sonar. El único problema es que requiere un bucle para escribir/reproducir constantemente el búfer de audio. Esto hace que sea particularmente complicado manejar el control de reproducción (en mi opinión) porque tendré que ejecutar esto en un subproceso o proceso por separado, y de alguna manera controlar la posición de búsqueda para pausa y tal. Este es un nivel demasiado bajo para explicar por qué estoy usando Python. Me gustó la simplicidad de TkSnack por sus comandos sencillos como "mysound.play()" o "mysound.pause()" en lugar de controlar un ciclo.

También miré en pyMedia, que parece que es el más actualizado con la documentación, pero no puedo conseguir que se instale en mi máquina. Aparece el error "gcc exit with value 1" o algo así cuando ejecuto el comando "python setup.py build".

Así que estoy buscando cualquier sugerencia o ayuda sobre uno de estos módulos, o uno completamente diferente, que es de alto nivel y fácil de usar para mp3 (y preferiblemente otros formatos también) Estoy tratando de tener control de reproducción básico (pause, stop, skip, seek) y también puedo estar transmitiendo archivos demasiado tarde (si alguna vez llegué allí).

EDIT: Me gustan los enlaces de python para Gstreamer, pero ¿se trata de una solución multiplataforma? Olvidé mencionar eso como un requisito. Pero siempre acabo de asociar GStreamer con Linux, ¿funcionaría esto en otros sistemas operativos?

EDIT: Wikipedia dice yes.

Respuesta

2

Lo siento, no puedo ayudarte con PyMad o pyMedia, pero tengo otras sugerencias.

actuales reproductores de música escritos en Python:

Todo el uso por encima de la Python bindings para el marco GStreamer multimedia. Los documentos para los enlaces son escasos, pero consulte here, here, here y ejemplos de la distribución fuente here.

+0

Me gusta la idea de comunicarme con GStreamer, ya que así es como funcionan la mayoría de los programas de audio/video en Linux. Pero, ¿seguiría siendo aplicable si quisiera hacerlo multiplataforma? – gnomed

+0

Dos de los enlaces parecen no ser paquetes de Python ... – heather

0

Tuve que lidiar con esto, y por mi investigación creo que sus mejores apuestas son pyglet y pygame. Son paquetes de interfaz con soporte a/v incorporado.

+0

pyglet parece prometedor, estoy demasiado ocupado durante los próximos días para intentar implementarlo. Pero te dejaré saber si lo hago. – gnomed

Cuestiones relacionadas