2011年8月4日木曜日

音声ファイル配列の連続再生

ちょっと仕事で必要だったので組むことになりました。
HTML5をターゲットにしているので、FirefoxかChromeでないと動かないでしょう。
やっぱJavaScriptはクロージャが分からないとだめか~

/**
 * 音声ファイルパスの配列を連続再生します.
 * 例:["audio/start.wav", "audio/main.wav", "audio/end.wav"]
 * @param audioList 音声ファイルパスの配列
 */
function playArrayAudio(audioList) {

    // 再生リストの作成
    var playList = new Array();
    for (var i in audioList) {
        playList[i] = new Audio();
        playList[i].autoplay = false;
        playList[i].src = audioList[i];
        playList[i].load();
    }

    // 再生リストの連結
    if (playList.length != 0) {
        for (var i = 0; i < playList.length - 1; ++i) {
            playList[i].addEventListener("ended", function(audio) { return function(){
                audio.play();
            }; }(playList[i + 1]), false);
        }
        // 先頭の音声を再生
        playList[0].play();
    }

}

0 件のコメント:

コメントを投稿