AS3のSound
as3になって、何やら面倒くさくなってるー。
イベントとるのに SoundChannel
ボリューム変えるのに SoundTransform
public function init(sound:Sound):void {
_muteFlg = true;
_sound = sound;
_soundChannel = _sound.play();
_soundChannel.addEventListener( Event.SOUND_COMPLETE, soundComplete );
this.addEventListener(MouseEvent.MOUSE_UP, switchOnOff);
_soundTransform = new SoundTransform();
}
private function switchOnOff(e:MouseEvent):void {
_muteFlg =! _muteFlg;
_soundTransform.volume = (_muteFlg)?1:0;
_labelMc.gotoAndStop( (_muteFlg)?"on":"off" );
_soundChannel.soundTransform = _soundTransform;
}
function soundComplete( eventObject:Event = null ):void {
// 完了後にまた再生でループ
_soundChannel = _sound.play( 0 );
_soundChannel.soundTransform = _soundTransform;
_soundChannel.addEventListener( Event.SOUND_COMPLETE, soundComplete );
}