2017-04-02 5 views
3

Ich entwickle eine Sound-JavaScript-Bibliothek. Ich kann Ton mit unterem Code spielen.JavaScript Sound Wiedergabe/Stopp/Pause

var soundPlayer = null; 

function playSound(){ 

soundPlayer = new Audio(soundName).play(); 

} 

Wie kann ich diesen Ton stoppen und anhalten? Wenn ich so versuchen:

soundPlayer.pause(); 

oder

soundPlayer.stop(); 

Aber ich diesen Fehler:

Uncaught TypeError: soundPlayer.stop is not a function 

Wie kann ich das tun?

Antwort

1

Wenn Sie ändern, dass:

soundPlayer = new Audio(soundName).play(); 

Um das:

soundPlayer = new Audio(soundName); 
soundPlayer.play(); 

Ihre Pause in Ordnung arbeiten werden. Das Problem ist, dass Sie playplay die Funktion "play" zugewiesen haben. SoundPlayer ist jetzt kein Audio-Objekt.

Statt stop() verwenden:

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

Es ist das gleiche funktioniert, denke ich.

+0

es funktioniert. Mein Problem ist die Stop/Pause-Aktion. – jsawyer

+0

Ja. Diese beiden Funktionen funktionieren, wenn Sie das ändern, was ich erwähnt habe. Ihr SoundPlayer ist jetzt eine Funktion "Play", kein Audio-Objekt. Deshalb funktionieren Stop und Pause nicht. – 5ka

+0

Ich habe meinen Code mit Ihrem Code geändert. Jetzt funktioniert die .pause() - Funktion. Vielen Dank! Aber die Funktion stop() funktioniert nicht. Wie mache Ich das? – jsawyer