Flash 外部加载的声音在某些浏览器中回响

Flash 外部加载的声音在某些浏览器中回响,flash,actionscript-3,audio,Flash,Actionscript 3,Audio,我遇到了一个问题,在Mac上的Chrome和PC上的Chrome、Opera和Safari中,它似乎播放了两次声音,产生了一种不必要的回音效果,延迟相当随机(但总是不到半秒) 我有两个通过本地连接进行通信的swf文件,主swf只需调用第二个swf上的函数,并将url作为参数传递给mp3文件。然后,第二个swf加载该文件,然后onComplete播放它 这在IE(这是第一次)和Firefox上都能在mac和PC上完美运行,但与上面提到的一样 我甚至实施了双重检查,以确保在已经播放声音的情况下不会播

我遇到了一个问题,在Mac上的Chrome和PC上的Chrome、Opera和Safari中,它似乎播放了两次声音,产生了一种不必要的回音效果,延迟相当随机(但总是不到半秒)

我有两个通过本地连接进行通信的swf文件,主swf只需调用第二个swf上的函数,并将url作为参数传递给mp3文件。然后,第二个swf加载该文件,然后onComplete播放它

这在IE(这是第一次)和Firefox上都能在mac和PC上完美运行,但与上面提到的一样

我甚至实施了双重检查,以确保在已经播放声音的情况下不会播放声音

一些示例代码:

var audio:Sound;
var isPlayingSound:Boolean = false;
var soundURL:String;

public function lcRecieve(url:String = ""):void{
    soundURL = url;
    if (soundOn && !isPlayingSound){
        playSound();
    }
}

public function playSound():void {
    if(!isPlayingSound){
        audio = new Sound(new URLRequest(soundURL));
        audio.addEventListener(Event.COMPLETE, onSoundComplete);
    }

}
public function onSoundComplete(e:Event):void{
        audio.play(0, 1).addEventListener(Event.SOUND_COMPLETE, soundFinnishedPlaying);
        isPlayingSound = true;
}

private function soundFinnishedPlaying(e:Event):void {
        e.target.removeEventListener(Event.SOUND_COMPLETE, soundFinnishedPlaying);
        audio = null;
        isPlayingSound = false;
}
以前有人碰到过这个问题吗?我迷路了

   private var channel:SoundChannel;

   public function onSoundComplete(e:Event):void
   {
      if( channel != null )
           channel.stop();

      channel = audio.play( 0 , 1 );
   }