2012-02-17 17 views
8

Estoy seriamente nuevo en Python y mi primer proyecto es bastante ambicioso: Dla creación de un reproductor de audio usando pitón QWebView y la API de HTML5 Audio

Estoy intentando crear un reproductor de audio utilizando un QWebView y el audio HTML5 API.

Quiero usar Phonon para reproducir realmente los medios, pero me gustaría poder usar la API de audio HTML5 para hacer un ecualizador, como el de Winamp.

puedo conseguir Phonon para reproducir un archivo de audio sin ningún problema, pero ¿hay una manera de conectar la salida de audio a mi JavaScript para que pueda jugar con los diferentes canales, etc.?

¿Es incluso la mejor manera? Es decir, iba a hacerlo de esta manera limitar los formatos disponibles para el reproductor para los apoyados por WebKit, o iba a seguir siendo capaz de reproducir cualquier formato de fonones es capaz de jugar? (Estoy asumiendo que Phonon transmitiría una versión en bruto/decodificada del audio a mi JavaScript, que luego podría usar a través de la API de audio)

Si esto no fuera posible, podría hacer un simple contenedor de JavaScript alrededor de un objeto Phonon AudioOutput, supongo?

¿Alguna idea?

+2

Si cuenta de esto por su cuenta, tal vez publicar su solución como una respuesta? Si no es así, y aún lo necesita, ¿quizás sería útil publicar un código de muestra? – bryce

Respuesta

1

No he trabajado con el framework Qt, pero leer en los documentos QWebView parece que no hay una solución disponible para comunicarse con el objeto de la ventana.

Si desea trabajar con un protocolo familiar, entonces le sugiero que busque en el Flask microframework. Básicamente es un pequeño fragmento de código de opinión en el que todo el comportamiento de la aplicación es proporcionado por funciones que reciben y luego devuelven objetos de solicitud y respuesta HTTP. Aquí está el streaming documentation oficial para que pueda hacerse una idea de cómo se ve la construcción de un objeto de respuesta.

Parece que descubrió cómo generar la salida, esto significa que solo necesitaría ejecutar el servidor Flask incorporado en tiempo de ejecución y transportar los datos de audio a su cliente JavaScript a través de HTTP.

Cuestiones relacionadas