clearTimeout(myVar)
を使用して特定のsetTimeout
ループを停止するにはどうすればよいですか?clearTimeoutを使用して特定のsetTimeoutループを停止する方法
パラメータとして一意のオーディオファイル名を含む複数のコールバックを使用しています。関数triggerAudio
がコールバックを受信すると、オーディオファイルループが開始されます。問題は、複数のsetTimeoutオーディオループを開始した場合(つまり、複数のサウンドが同時に再生されている場合)、どのように特定のループ/サウンド/ setTimoutを停止できますか?言い換えれば、どのようにどのオーディオループが停止するかを選択できますか?
// starts 1.wav looping
(function loopStart() {
triggerAudio('1.wav');
}());
// starts 2.wav looping
(function loopStart() {
triggerAudio('2.wav');
}());
// stops one of the audio loops after 5 seconds
setTimeout(function() {
(function loopStop() {
clearTimeout(myVar); // not sure how to control which function this will stop/clear
}());
}, 5000);
// main functino that loops the files noted by the callbacks
function triggerAudio(soundFileName) {
// code that starts and loops audio file with setTimeout loop
}
私は何とか名前(私は専門用語のわからないんだけど)私は1つを停止することができるように、各コールバックによって開始setTimeout
する必要が疑われますか?しかし、私はどのようにこれにアプローチするのか分からない。