html5/javascript audio Abspielen mehrere tracks gleichzeitig
Ist es möglich, die gesamte audio-Instanz zur gleichen Zeit?
Ich weiß, ich könnte erstellen jedes mal, wenn eine neue Instanz und rufen .spielen() auf jeder Instanz, aber ich denke seine schmutzige.
wie
sound1 = new Audio('sound1.mp3');
sound2 = new Audio('sound2.mp3);
sound1.play();
sound2.play;
Seine mehr oder weniger die gleichen wie in diesem thread: Spielen mehrere sound gleichzeitig
Es muss aber elegante Art und Weise?
InformationsquelleAutor spyfx | 2014-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit:
MediaController
undmediagroup
entpuppte sich als vaporware. Sie wollen stick mit den "schmutzigen" Weg, es zu tun, zumindest für den Moment, da es kein offizielles Synchronisierung Lösung.Die richtige Art und Weise zu spielen mehrere audio-oder video-Objekte synchron ist die Verwendung dermediagroup
Attribut und die entsprechendenMediaController
Objekt. Siehe den Artikel "HTML5-multi-track audio-oder video":Stellen Sie beide audio-Dateien zu einer einzigen
mediagroup
. Wenn ein media-element zugeordnet ist, um einemediagroup
eineMediaController
ist geschaffen für die Gruppe. Verwenden Sie dieplay()
Methode auf, die controller und alle media-Elemente in der Gruppe wird, spielen synchron.Programmgesteuert, können Sie einen
mediagroup
wie so, und dann von diesem Punkt triggerplay()
auf dieMediaController
aus einem der slave-media-Elementen, wie:(Quellen: w3school.com's HTML-Audio - /Video-DOM mediaGroup-Eigenschaft Seite, controller-Eigenschaft Seite, play () - Methode Seite, und der standard)
HINWEIS: habe ich noch nicht getestet der code oben; bitte, wenn Sie können bestätigen, dass dieser code ist nicht standard-konform und nicht wie erwartet funktionieren, lassen Sie es uns wissen. Beachten Sie, dass Sie bei uns einen ganz neuen Aspekt der HTML5-standard, und wenn dies der Fall ist, nicht erwarten umfassende browser-Kompatibilität. (Stand Januar 2014)Sie brauchen nicht die controller-element. Nur
sound1.play();
Alle updates zu diesem haben?
Firefox noch nicht implementiert weder
MediaController
nochmediaGroup
, und Chrom hat nicht gelieferte it.Diese Antwort sollte wohl wieder gelöscht werden - In der Zeit des Schreibens war es ein Entwurf-nur experimentelle Funktion, und es wurde getötet, so ist dies nie gehen, um eine richtige Antwort auf die Frage, wie das zu tun, was die Frage war. Am besten, gegenwärtigen und zukünftigen Besucher SO nicht finden, diese Antwort, aber im schlimmsten Fall Sie tun und finden Sie Anweisungen, etwas zu tun, kann nicht immer funktionieren.
InformationsquelleAutor David Michael Gregg