https://teratail.com/questions/108613
前回質問させていただきました。
上記URLと同じ内容なのですが、どうしても
audio.v.addEventListener("ended", function(){
でaudioの再生完了を遅延なく実施したいです。
■ファイル構成
/audio/aa/audioA1.mp3
--------------audioA2.mp3
---------bb/audioB1.mp3
--------------audioB2.mp3
■実現したい内容
Audio①を再生完了⇒Audio②を再生
を遅延なく実装したい
■不具合内容
AudioAの再生完了からAudioB再生までラグがある
おおよそ1秒くらい(もっとある場合もある)
■理由
audioA1、AudioA2はそれぞれ秒数が異なるため、再生実施後に秒数を指定して
audioBを再生するという実装方法が不可能なため
HTML
1<!-- ○A --> 2<p>A: 3<select name="A"> 4 <option value="audioA1">A1</option> 5 <option value="audioA2">A2</option> 6 <option value="audioA3">A3</option> 7</select> 8</p> 9 10<!-- ○B --> 11<p>B: 12<select name="B"> 13 <option value="audioB1">B1</option> 14 <option value="audioB2">B2</option> 15 <option value="audioB3">B3</option> 16</select> 17</p> 18 19<!-- ○再生ボタン --> 20<p> 21<form name="playButton"> 22 <input type="button" name="playButton" value="再生" onClick="playAudio()"> 23</form> 24</p>
JavaScript
1//-----再生----- 2function playAudio(selectedAudioA, selectedAudioB) { 3 //AudioAを指定 4 audioA.src = "audio/aa/" + selectedAudioA + ".mp3"; 5 //AudioBを指定 6 audioB.src = "audio/bb/" + selectedAudioB + ".mp3"; 7 8 //実際に再生 9 audioA.play(); 10} 11 12//★Aの再生が完了したら 13audioA.addEventListener('ended', function() { 14 //種別を再生 15 audioB.play(); 16}, false);
あなたの回答
tips
プレビュー