Audioエレメントを2つ指定して、音量をクロスフェード。音量が0になる方は一時停止。
iOSでは、volumeの操作は許可されていないのでフェイド動作はせずに、すぐに切り替える仕様。
2つのAudioエレメントをクロスフェイド。第1引数に渡されるAudioエレメントが再生状態にない場合には、この関数は処理されない。
HTML :
<button type="button" onclick="setup()">Audio1を再生</button>
<button type="button" onclick="$audioCrossFade(audio1,audio2)">Audio1からAudio2にクロスフェイド</button>
<button type="button" onclick="$audioCrossFade(audio2,audio1)">Audio2からAudio1にクロスフェイド</button>
<button type="button" onclick="pause()">停止</button>
Javascript :
var audio1=new Audio(); //Audioエレメントを定義
var audio2=new Audio(); //Audioエレメントを定義
audio1.preload="metadata";
audio2.preload="metadata";
function setup() { //Audioエレメントを準備して片方を再生
audio1.src="audio/cmn_snd_sound1.mp3";
audio1.volume=1.0;
audio1.play(); //再生する
audio2.src="audio/cmn_snd_sound2.mp3";
}
function pause() { //2つのAudioエレメントを停止
audio1.pause();
audio2.pause();
}