0

HTML5オーディオタグなしでJavascriptを使用して、3つのMP3ファイルを次々に再生しようとしています。[私は、eLearning のオーサリング ツールである Articulate Storyline 内で作業しています。ファイル内の Javascript はサポートしていますが、HTML はサポートしていません]

これまでのところ、私が持っている最高のものは、すべて同時に再生される次のものです。

function myFunction() {
    var audio1 = new Audio('http://www.mysite.co.uk/h/welcome.mp3');
    var audio2 = new Audio('http://www.mysite.co.uk/h/name.mp3');
    var audio3 = new Audio('http://www.mysite.co.uk/h/cont.mp3');

    audio1.play();
    audio2.play();
    audio3.play();
}

「待機」機能を検討しましたが、これを JQuery で適切に行う方法しか知りません。正しく思い出すと、Articulate Storyline は、他の場所でホストされている場合でも JQuery をサポートしていません。

これに関するヘルプは大歓迎です

4

3 に答える 3

2

オーディオの再生が終了するのをリッスンするイベント ハンドラを使用して、次のオーディオを再生することができます。

function play(audio) {
    audio.play();
    return new Promise(function(resolve, reject) {
        audio.addEventListener('ended', resolve);
    });
}

function myFunction() {
    var audio1 = new Audio('http://www.mysite.co.uk/h/welcome.mp3');
    var audio2 = new Audio('http://www.mysite.co.uk/h/name.mp3');
    var audio3 = new Audio('http://www.mysite.co.uk/h/cont.mp3');

    play(audio1).then(function() {
        return play(audio2);
    }).then(function() {
        return play(audio3);
    });
}
于 2016-09-19T17:46:59.410 に答える