-1

<audio>HTML5要素を使用して、JavaScript関数に変数を渡して再生しようとしています。

文字列パラメーターを関数に渡すと、これは 1 つのファイルだけになり、それを再生します。しかし、配列を渡すと、配列全体を曲ごとに再生したいと思います。

ここに私の基本的な考えがあります:

function playSound(sound) {
    var audio = document.getElementById('sound');
    if(sound instanceof Array) {
        // Play the whole array
    }
    else {
        // Play only one file
        audio.src = sound;
        audio.play();
    }
}

私たちを手伝ってくれますか?

4

1 に答える 1

1

playSoundループ内で呼び出しを続けて、呼び出しをonended次のようにバインドできます。

if (sound instanceof Array) {
    audio.src = sound.shift();
    audio.play;
    if (sound.length) {
        audio.addEventListener('ended', function () {
            playSound(sound);
        });
    }
}
于 2013-03-28T01:03:11.800 に答える