我有这2个功能。正如你所看到的那样,第一个是流式传输视频(女巫正在循环播放),第二个是流式传输音频(也正在循环播放)。所以我需要在视频播放音频时开始运行并独立循环,因为我的音频长度大于视频的长度。任何想法我怎么能设法做到这一点。请使用代码。
function NCListener(e:NetStatusEvent){
if (e.info.code == "NetStream.Play.Stop") {
ns.play("http://media.easyads.bg/ads/display_ads_richmedia/video/avon/maria_ilieva/video_2.flv");
shaker(null);
}
};
var sound:Sound = new Sound();
var soundChannel:SoundChannel= new SoundChannel();
sound.addEventListener(Event.COMPLETE, onSoundLoadComplete );
function onSoundLoadComplete(e:Event):void{
sound.removeEventListener(Event.COMPLETE, onSoundLoadComplete);
soundChannel = sound.play(0, 9999);
soundChannel.addEventListener(Event.SOUND_COMPLETE, onSoundChannelSoundComplete);
}
function onSoundChannelSoundComplete(e:Event):void{
e.currentTarget.removeEventListener(Event.SOUND_COMPLETE, onSoundChannelSoundComplete);
soundChannel = sound.play(0, 9999);
}
答案 0 :(得分:0)
首先,你不需要
soundChannel.addEventListener(Event.SOUND_COMPLETE, onSoundChannelSoundComplete);
当声音运行完毕时会触发,但由于它已经循环播放,因此无需再次播放。
首先,您需要移动线
soundChannel = sound.play(0, 9999);
然后将其放在ns.play
之后。所以声音会在视频开始后立即开始播放。
然后,为了防止它在视频开始时再次循环,只需检查soundChannel是否存在:
if (soundChannel == null)
soundChannel = sound.play(0, 9999);
请注意,之后有无法让您的声音与您的视频保持同步,这完全取决于Flashplayer的意愿。