私のウェブサイトhttp://oclock.webs.comで HTML5 オーディオをループさせるのに問題があります。(これは、アラームが鳴ったときに、アラート ボックスで [OK] をクリックするまで、1 秒間のアラーム音を何度もループさせるアラームです)。
単にオーディオ タグに「ループ」を含めるだけでは、何も起こりませんでした。
StackOverflow に関する役立つ投稿を見つけて、この Web サイトにたどり着きました: http://forestmist.org/2010/04/html5-audio-loops/
方法 1 と 2 は Firefox では機能せず、Chrome ではうまくいかないため、うまくいかないことがわかっていたので、方法 3 は機能するはずでしたが、残念ながら機能しませんでした。方法 3 は、その Web サイトのページにいる場合は機能しますが、自分のページにコードが含まれている場合は機能しないため、競合するコードがある可能性があります。
私のウェブページの関連部分:
<audio id="audio1" preload>
<source src="media/alarm.ogg" type="audio/ogg" />
<source src="media/alarm.mp3" type="audio/mpeg" />
</audio>
<audio id="audio2" preload>
<source src="media/alarm.ogg" type="audio/ogg" />
<source src="media/alarm.mp3" type="audio/mpeg" />
</audio>
ページの関連 Javascript:
if(timer==true && hours==hv && mins==mv && secs==sv){
document.getElementById("audio1").play();
alert("o'clock: Alarm ringing!");
document.getElementById("alarm").value="Set Alarm";
document.getElementById('audio1').addEventListener('ended', function(){
this.currentTime = 0;
this.pause();
document.getElementById('audio2').play();
}, false);
document.getElementById('audio2').addEventListener('ended', function(){
this.currentTime = 0;
this.pause();
document.getElementById('audio1').play();
}, false);
}
else{
document.getElementById("audio1").pause();
document.getElementById("audio2").pause();
document.getElementById("audio1").currentTime = 0;
document.getElementById("audio2").currentTime = 0;
}
目的: コンピュータの時間がページで選択された時間と一致すると、ユーザーが警告ボックスのポップアップで [OK] をクリックするまで、オーディオ アラームが繰り返されます (ループ)。
問題: 現在、オーディオは 1 回しか再生されず、ループしません。どこで台無しにしましたか?