2017-11-30 9 views
0

私は10秒のオーディオを持っていますが、60秒後にオプションの再生を停止したいのですが、オーディオをループさせたくありません。しかし、音声はループし続けます。ループなしで60秒後にオーディオを停止する - Javascript

var iterations = 1; 

      document.getElementById('iteration').innerText = iterations; 

       if (iterations < 5) { 

        this.currentTime = 0; 
        this.play(); 
        iterations ++; 

        document.getElementById('iteration').innerText = iterations; 

       } 
      }, false); 
+1

);'終わり? –

+0

私はそのコードをリンクから見ましたが、もしそうなら偽と思いますが、5よりも優れているならば停止します –

+0

しかし、私は5秒から60秒に変更したいのですが、どうすればよいかわかりません。私はリプレイの数を数える必要があるので –

答えて

0

一定時間(秒)後に音声を停止するには、setTimeout()を試してみてください。ここでは、オーディオファイルの再生を開始し、6秒後に停止する例を示します。偽、 `}ことは何

document.getElementById('audioSample').play(); 
 
setTimeout(function() { 
 
    document.getElementById('audioSample').pause(); 
 
}, 6 * 1000); // Stops the audio player after 6 seconds
<audio controls id="audioSample"> 
 
    <source src="http://www.sample-videos.com/audio/mp3/crowd-cheering.mp3" type="audio/mpeg"> 
 
Your browser does not support the audio element. 
 
</audio>

let countdown = 6; 
 

 
document.getElementById("audioSample").play(); 
 

 
let interval = setInterval(function() { 
 
    countdown -= 1; 
 
    document.getElementById("count").innerHTML = countdown; 
 
    if (countdown <= 0) { 
 
    document.getElementById("audioSample").pause(); 
 
    clearInterval(interval); 
 
    } 
 
}, 1000);
<audio controls id="audioSample"> 
 
     <source src="http://www.sample-videos.com/audio/mp3/crowd-cheering.mp3" type="audio/mpeg"> 
 
    Your browser does not support the audio element. 
 
    </audio> 
 

 
<div>Time left:</div> 
 
<div id="count"></div>

+0

それはそうですが、60秒以内に応答するクイズゲームを想像してください。毎回再生するオーディオを必要とし、時間を数えますが、60秒に達すると、オーディオはもう再生されません。 編集:オーディオが10秒の場合、最大6倍のリプレイをすることはできませんが、ループを停止するにはどうすればよいですか? –

+0

@DanoninhaMartins:私はちょうど答えを編集して、カウントダウンでより精巧な例を追加しました。これは役に立ちますか? –

+0

はい、ありがとうございました –

関連する問題