ごらくらいふ

プログラミングしたりゲームしたり

Audioオブジェクトでリピート再生する

環境

chrome 44.0.2403.130 m (64-bit)

乗るべきevent

Audioオブジェクトにビルトインでリピートに関する機能がない。 機能はないが、実現するための条件は揃っている。

Audioオブジェクトが楽曲を再生しきったとき、endedイベントが発行される。 このeventに乗っかって、リピート機能を実現する。

example

onended に書く

サッと書くとだいたいこうなりそう。

music = new Audio();
music.src = "your/music/path.mp3";

music.onended = function(){
    this.play();
}
music.play();

addEventListener に書く

eventlistenerならこう

music = new Audio();
music.src = "your/music/path.mp3";

music.addEventListener('ended',function(){
    this.play();
});
music.play();

repeatフラグで制御する

music = new Audio();
music.src = "your/music/path.mp3";

music.repeat = true;
music.addEventListener('ended',function(){
    if (!!this.repeat){
        this.play();
    }
});
music.play();