Erstellen eines Python-Audioplayers mit QWebView und der HTML5-Audio-API

8

Ich bin Python ernsthaft neu und mein erstes Projekt ist ziemlich ehrgeizig: D

Ich versuche, einen Audioplayer mit einem QWebView und der HTML5 Audio API zu erstellen.

Ich möchte Phonon verwenden, um die Medien tatsächlich zu spielen, aber ich möchte in der Lage sein, die HTML5-Audio-API zu verwenden, um einen Equalizer wie den in Winamp zu erstellen.

Ich kann Phonon dazu bringen, eine Audiodatei zu spielen, kein Problem, aber gibt es eine Möglichkeit, die Audioausgabe mit meinem JavaScript zu verbinden, so dass ich mit den verschiedenen Kanälen usw. experimentieren kann?

Ist das überhaupt der beste Weg? Ich meine, würde ich auf diese Weise die für meinen Player verfügbaren Formate auf diejenigen beschränken, die von WebKit unterstützt werden, oder würde ich immer noch in der Lage sein, ein beliebiges Format zu spielen, das Phonon spielen kann? (Ich gehe hier davon aus, dass Phonon eine rohe / decodierte Version des Audios zu meinem JavaScript streamen würde, welches ich dann über die Audio-API verwenden könnte)

Wenn das nicht möglich ist, könnte ich einen einfachen JavaScript-Wrapper um ein Phonon AudioOutput-Objekt machen, nehme ich an?

Irgendwelche Gedanken?

    
jakalofnaar 17.02.2012, 08:01
quelle

1 Antwort

1

Ich habe nicht mit dem Qt-Framework gearbeitet, aber die QWebView Dokumentation scheint so zu sein keine leicht verfügbare Lösung, um mit dem Fensterobjekt zu kommunizieren.

Wenn Sie mit einem vertrauten Protokoll arbeiten möchten, schlage ich vor, dass Sie sich den Flask -Mikroframe ansehen. Es handelt sich im Grunde um einen kleinen, eigenmächtigen Code, bei dem das gesamte Anwendungsverhalten von Funktionen bereitgestellt wird, die HTTP-Request- und Response-Objekte empfangen und zurückgeben. Hier ist die offizielle Streaming-Dokumentation , mit der Sie sich ein Bild vom Aufbau eines Antwortobjekts machen können.

Es scheint, dass Sie herausgefunden haben, wie Sie die Ausgabe generieren. Das würde bedeuten, dass Sie nur den integrierten Flask-Server zur Laufzeit ausführen und die Audiodaten über HTTP an Ihren JavaScript-Client übertragen müssen.

    
Filip Dupanović 18.11.2012 20:25
quelle

Tags und Links