2016-03-19 21 views
0

は、私は3つのサウンドオブジェクトを持っている:HTML5のオーディオ:他のサウンドの後でサウンドを再生する方法は?

sound_a = new Audio("a.mp3"); 
sound_b = new Audio("b.mp3"); 
sound_c = new Audio("c.mp3"); 

私は音aが終了したときに音bを再生したいです。そして、サウンドbが終了したら、サウンドcを再生する。

どうすればいいですか?

sound_a.pause(); 
sound_a.currentTime = 0; 
sound_a.play(); 

sound_b.pause(); 
sound_b.currentTime = 0; 
sound_b.play(); 

sound_c.pause(); 
sound_c.currentTime = 0; 
sound_c.play(); 

答えて

1

それを行うための最も簡単な方法としては、単一のオーディオオブジェクト、光源のアレイを維持し、終了イベントと遊びに耳を傾けるでしょう:

let i = -1, sources =[...], a= new Audio(), playNext= e => { 
    i++; 
    if(!sources[i]) return; 
    a.src=sources[i]; 
} 
a.autoplay = true; 
a.onended = playNext; 
playNext(); 

Fiddle Demo

+0

ありがとうございました!!! ノーマルモードでコードを変換するにはどうすればよいですか? (あなたが '厳密'を使用するので) – totoaussi

+0

@totoaussi [ES5](http://jsfiddle.net/mido22/kr7ef7ny/2/)で同じこと – mido

+0

ありがとう、あなたは素敵です! – totoaussi

1

あなたは、あなたの質問hereのための答えを見つけることができます。

私のコードは次のようです。それが助けにならないならば、この質問は既に尋ねられ、以前解決されていたので、他の解決策を見つけようとする。

関連する問題