1. ホーム
  2. html

[解決済み] HTML5 音声停止機能

2022-02-14 07:19:49

質問

ナビゲーションの各リンクをクリックすると、小さなオーディオクリップが再生されます。

HTMLコードです。

<audio tabindex="0" id="beep-one" controls preload="auto" >
    <source src="audio/Output 1-2.mp3">
    <source src="audio/Output 1-2.ogg">
</audio>

JSコードです。

$('#links a').click(function(e) {
    e.preventDefault();
    var beepOne = $("#beep-one")[0];
    beepOne.play();
});

今のところ問題なく動作しています。

問題は、サウンドクリップがすでに実行されているときに、何かリンクをクリックしても何も起こらないことです。

リンクのクリックで再生中のサウンドを停止させようとしましたが、HTML5のAudio APIにはそのための直接のイベントがありません。

次のコードを試してみましたが、うまくいきません。

$.each($('audio'), function () {
    $(this).stop();
});

何かご提案があればお願いします。

解決方法は?

の代わりに stop() で試してみてはいかがでしょうか。

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

これで期待通りの効果が得られるはずです。