2012-02-26 8 views
1

私はキューの順序に基づいて私のWebページ上で複数のサウンドファイルを再生したいと思います。例えば、1.wav 2.wav 3.wavのようなキューの順序があり、各単語0-9の音声を保存する。キューに複数のサウンドファイルを再生したい

ボタンを1回クリックするだけで、サウンドを再生する簡単なスクリプトを作成しようとしています。

PLAY-> 1.WAV - > END:PLAY-> 2.WAV - > END:PLAY-> 3.wav - > END

答えて

3

私はあなたが再帰をliek群れ!

//This plays a file, and call a callback once it completed (if a callback is set) 

function play(audio, callback) { 

audio.play(); 
if(callback) 
{ 
    audio.onended = callback; 
} 
} 

これは、オーディオオブジェクトの配列を取得し、実際にキューに

function queue_sounds(sounds){ 

    var index = 0; 
    function recursive_play() 
    { 
     if(index+1 === sounds.length) 
     { 
     play(sounds[index],null); 
     } 
     else 
     { 
     play(sounds[index],function(){index++; recursive_play();}); 
     } 
    } 

recursive_play(); 
} 

をimpementsですから、実際にこのような何か:

queue_sounds([new Audio(foo), new Audio(bar), new Audio(lol)]); 
+0

はそれを動作させるように見えるカントここで、私があります持っている:http://smldesign.com/play.htm – Blnukem

+0

ファイル名は初心者のために引用符で囲み、関数定義の後ろにqueue_soundsを入れてください。 – Loupax

+0

これが起動しています! http://jsfiddle.net/TG7k7/13/ – Loupax

関連する問題