複数のフレームに分割された Flash プロジェクトがあり、各フレームに次のフレームを再生するためのボタンがあります。(そして、次のフレーム ボタンを押すまで再生される各フレームのムービークリップ)
各フレームで、オーディオを再生してループさせたい。しかし、ボタンをクリックして次のフレームに進むと、あるフレームのオーディオが停止するようにします。
フレーム 4 には、次のコードがあります。
import flash.media.SoundChannel;
var sound:Sound = new firt2();
var soundChannel:SoundChannel;
sound.addEventListener(Event.COMPLETE, onSoundLoadComplete);
sound.play();
function onSoundLoadComplete(e:Event):void{
sound.removeEventListener(Event.COMPLETE, onSoundLoadComplete);
soundChannel = sound.play();
soundChannel.addEventListener(Event.SOUND_COMPLETE, onSoundChannelSoundComplete);
}
function onSoundChannelSoundComplete(e:Event):void{
e.currentTarget.removeEventListener(Event.SOUND_COMPLETE, onSoundChannelSoundComplete);
}
そして、それは機能します。ただし、ボタンをクリックして次のフレームに移動したら、停止したいと思います。私は試し
soundChannel.stop();
ました:次のフレームで。
ただし、それを行うたびに、出力は次のようになります。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at hhh4_fla::MainTimeline/frame5()
at flash.display::MovieClip/gotoAndPlay()
at hhh4_fla::MainTimeline/fl_ClickToGoToAndPlayFromFrame()
すべてのボタンとムービークリップにインスタンス名があります。