JavaScriptでオーディオをループさせる方法


  1. audio要素のloop属性を使用する方法:

    <audio src="audio.mp3" loop></audio>

    この方法では、loop属性を<audio>要素に追加することで、オーディオが自動的にループ再生されます。

  2. JavaScriptのメソッドを使用する方法:

    const audio = new Audio('audio.mp3');
    audio.addEventListener('ended', () => {
    audio.currentTime = 0;
    audio.play();
    });
    audio.play();

    この方法では、Audioオブジェクトを作成し、endedイベントをリスンしてオーディオの再生が終了したら、再生時間をリセットして再び再生します。

  3. Web Audio APIを使用する方法:

    const context = new AudioContext();
    const audio = new Audio('audio.mp3');
    const source = context.createMediaElementSource(audio);
    const gainNode = context.createGain();
    source.connect(gainNode);
    gainNode.connect(context.destination);
    gainNode.gain.value = 1;
    audio.addEventListener('ended', () => {
    audio.currentTime = 0;
    audio.play();
    });
    audio.play();

    この方法では、Web Audio APIを使用してオーディオの再生とループを制御します。AudioContextオブジェクトを作成し、Audio要素をcreateMediaElementSourceメソッドでソースとして接続します。endedイベントをリスンして再生が終了したら、再生時間をリセットして再び再生します。

これらはいくつかの一般的な方法ですが、さまざまな状況に応じて適切な方法を選択することが重要です。また、ブラウザの互換性にも注意してください。