2016-04-23 5 views
0

Eine Anwendung wird einen Audio-Clip mit dem HTMLAudioElement in einigen JavaScript unten verschachtelt spielen wie,Wie stoppen Sie ein HTMLAudioElement, während es mit JS spielt?

var s = new Audio('/sounds/s.wav'); 
s.play(); 

HTMLAudioElement docs: https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement

Das Problem ist, dass der Clip jedes Mal, wenn ein Benutzer eine Aktion dauert spielen muss . Wenn jedoch der vorherige Audioclip noch abgespielt wird, wird der nächste Clip nicht abgespielt (verzögert oder komplett übersprungen).

Gibt es also eine Möglichkeit, einen Audioclip während der Wiedergabe zu unterbrechen?

Etwas wie s.stop()?


UPDATE

Vielleicht ist dies immer noch eine doppelte Frage ...

Es gibt mehrere Audio-Clips für verschiedene Aktionen so, wenn implementiert sound.pause(); und sound.currentTime = 0; aus referenzierten doppelte Frage, könnte es aussehen so etwas, das vor jedem Clip ausgeführt werden könnte.

function stopSounds() { 
    sound1.pause(); 
    sound1.currentTime = 0; 

    sound2.pause(); 
    sound2.currentTime = 0; 

    sound3.pause(); 
    sound3.currentTime = 0; 

    sound4.pause(); 
    sound4.currentTime = 0; 

    sound5.pause(); 
    sound5.currentTime = 0; 

    sound6.pause(); 
    sound6.currentTime = 0; 

    sound7.pause(); 
    sound7.currentTime = 0; 
} 
+0

Leider können Sie als Duplikat wieder markieren - nicht glaube, ich es auf meiner Seite tun können. –

Antwort

0

Die Funktion, die Sie für die Suche sind ist s.pause(); Wenn Sie an den Anfang der Datei gehen wollen, wenn es wieder in Betrieb genommen ist, dann muss man s.currentTime = 0; gesetzt (wie ich es weiß, beginnt sofort dann zu spielen, bei mindestens in Chrome).

0

Rufen Sie einfach diese Funktion:

var s = new Audio('/sounds/s.wav'); 
    s.play(); 
    s.pause(); 
Verwandte Themen