Hallo zu spielen habe ich eine App in Phaser gebaut und will eine Folge von zwei Sounds erzeugen:Warten auf einen Ton zu stoppen, bevor den nächsten Ton
- „Du hast“ (geladen und als audioSound gespeichert [0 ])
- "Finished" (dito, audioSound [1])
kann ich dann halten-re mit 1 und haben verschiedene Wörter/Sätze 2. um dies zu tun, muss ich die Geräusche in Folge spielen .
Im Moment verwenden:
audioSound[0].play();
audioSound[1].play();
othercode...
Spielen beide zugleich. Irgendwelche Ideen, wie man die Klänge in der richtigen Reihenfolge abspielen kann, und nur weiter bis othercode...
, sobald der zweite fertig ist?
Vielen Dank im Voraus!
EDIT: nach @ Julians Antwort Hallo - um klar zu sein Ich habe den folgenden Code, um Elemente in eine Warteschlange zu pop und dann spielen sie. Obwohl die Elemente in der Warteschlange nacheinander abgespielt werden, wird die Funktion/der Code, der nach dem Ereignis der Warteschlangenwiedergabe kommt, parallel zum Ton ausgeführt, nicht wenn der Ton/die Töne beendet sind.
function playSequence(soundArray) {
soundArray[0].play();
soundArray.forEach(function(element, index, array) {
if (soundArray[index + 1]) {
soundArray[index].onStop.addOnce(function() {
soundArray[index + 1].play();
}, this);
}
});
Verwendung Medienereignisse https://developer.mozilla.org/en/docs/Web/Guide/Events/Media_events –
Ich habe Ihre Frage nicht fertig zu verstehen , mein Freund. Willst du zwei Sounds nacheinander spielen (du spielst einen und wenn du fertig bist, dann spielt der zweite) und so unendlich? Sie sprechen auch davon, mit einem anderen Code fortzufahren, oder? –
Hey danke beides. @ Julian - Ich möchte für die Sounds nacheinander abspielen. Was im Moment passiert ist, dass Sounds 1 gleichzeitig mit Sound 2 abgespielt wird und dann der Code nach beiden beginnt ausgeführt zu werden. Im Idealfall möchte ich, dass Sounds nacheinander abgespielt werden, bevor anderer Code ausgeführt wird. Ist das sinnvoll? – user7289