0

複数のフレームに分割された 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()

すべてのボタンとムービークリップにインスタンス名があります。

4

1 に答える 1