2012-02-17 12 views
8

Sono seriamente nuovo a Python e il mio primo progetto è molto ambizioso: DCreazione di un lettore audio utilizzando pitone QWebView e l'API HTML5 audio

Sto cercando di creare un player audio con un QWebView e HTML5 audio API.

Desidero utilizzare Phonon per riprodurre effettivamente i file multimediali, ma mi piacerebbe poter utilizzare l'API HTML5 Audio per realizzare un equalizzatore, come quello di Winamp.

Posso ottenere Phonon per riprodurre un file audio senza problemi, ma c'è un modo per collegare l'uscita audio al mio JavaScript in modo che possa giocare con i diversi canali, ecc.?

È anche il modo migliore? Voglio dire, farei in questo modo limitare i formati disponibili al mio giocatore a quelli supportati da WebKit, o sarei ancora in grado di riprodurre qualsiasi formato che Phonon è in grado di riprodurre? (Sto assumendo qui, che Phonon trasmettesse una versione raw/decodificata dell'audio al mio JavaScript, che potrei usare tramite l'API audio)

Se ciò non fosse possibile potrei creare un semplice wrapper JavaScript intorno a un oggetto Phonon AudioOutput suppongo?

Qualche idea?

+2

Se l'hai capito da solo, potresti postare la tua soluzione come risposta? Se no, e ne hai ancora bisogno, forse pubblicare un codice di esempio sarebbe d'aiuto? – bryce

risposta

1

Non ho lavorato con il framework Qt, ma dare una occhiata ai documenti QWebView sembra che non ci sia una soluzione prontamente disponibile per comunicare con l'oggetto finestra.

Se si desidera lavorare con un protocollo familiare, quindi suggerisco di guardare il microframework Flask. È fondamentalmente un piccolo pezzo di codice supposto in cui tutto il comportamento dell'applicazione è fornito da funzioni che ricevono e restituiscono oggetti di richiesta e risposta HTTP. Ecco il numero ufficiale streaming documentation in modo che tu possa avere un'idea di come sia la costruzione di un oggetto risposta.

Sembra che tu abbia capito come generare l'output, questo significherebbe che avresti solo bisogno di eseguire il server Flask integrato in fase di runtime e di trasportare i dati audio sul tuo client JavaScript su HTTP.