Wie kann ich mit JavaScript ALLE aktuell laufenden Geräusche beenden?
Wenn eine neue Audio startet sollen erst alle noch laufenden Audios beendet werden, damit man immer nur eine hört und nicht mehrere. Mein Code sieht zurzeit so aus:
function play1() {
var audio = new Audio('Music/1.mp3');
audio.play();
audio.addEventListener('ended', (event) => {
play2();
});
}
function play2() {
var audio = new Audio('../002/Music/1.mp3');
audio.play();
audio.addEventListener('ended', (event) => {
});
}
und es gibt jeweils 1 Knopf für play1 und play2 zum starten.
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, HTML
Erstelle eine Liste, in die du alle Audios tust.
audioList = [];
In der Funktion, wo du das jeweilige Audio erzeugst und abspielst, fügst du es zur Liste hinzu:
var audio = new Audio(...);
audioList.push(audio);
...
Um nun alle Audios zu beenden, mach folgendes:
audioList.forEach(audio => {
audio.pause();
audio.currentTime = 0;
});
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
Nutzer, der sehr aktiv auf gutefrage ist
musst wohl irgendwo speichern damit du darauf zugreifen kannst