klawischnigg: <audio> Status abfragen, laden, starten

Beitrag lesen

problematische Seite

Hi there,

ich habe mehrere <audio>-Tags als Spuren (Stimmen, Instrumente) desselben Lieds. Per Javascript möchte ich sie zeitgleich starten.

Sinn: Ein Sänger oder Instrumentalist (m/w/d) kann seinen/ihren/essen Part lauter stellen zum Üben, ein kleines Mischpult also.

Ich fürchte, Dein Vorhaben ist prinzipbedingt zum Scheitern verurteilt. Ich denke nicht, daß Du mit dem html-audio-Element ein Mischpult realisieren kannst, weil Du keinerlei Synchronisiermöglichkeiten hast und Du Dir browser- und verbindungsmäßige Latenzen einhandeln wirst. Bei einer einzigen Audiospur ist es egal, ob sie ein paar Millisekunden (oder gar eine Sekunde) früher oder später startet, bei mehreren kann das (Instrumenteneinsatz!) fatal sein.

Du kannst diesen Effekt übrigens sehr gut kontrollieren, wenn Du ein und dieselbe Audio-Datei mehrfach startest - dann wirst Du die seltsamsten Interferenzen 'raushören (aber auch nur, wenn der Unterschied nicht zu groß ist, ist das der Fall, dann hört sich die Geschichte einfach falsch an). Ich hab' einmal einen Javascript-Ablauf vom Timecode der (einer) Audio-Datei steuern lassen (also quasi den Timecode als Eventgeber verwendet), das war aber einfach nie so exakt hinzubekommen, wie's eigentlich nötig gewesen wäre.

Problem: Wenn die Audio-Dateien noch geladen werden müssen, fangen sie nicht zeitgleich an zu klingen.

Wie gesagt, das würden sie so auch nicht tun. Probier's einmal wie oben beschrieben mit nur einer Audiodatei.

Irgendwie komme ich nicht weiter, weil ich keine umfangreiche Info gefunden habe, wie Javascript die media abfragen und steuern kann.

Auf readyState bin ich auch nur zufällig gestoßen.

Hier solltest Du dazu alles finden (ich hoffe, Du bist der englischen Zunge soweit mächtig😉) - aber, wie gesagt, ich fürchte, das wird so oder so nicht funktionieren, dafür war die Sache einfach nie gedacht...