AS3.0播放声音没有延迟

时间:2011-06-16 13:22:54

标签: actionscript-3 audio

我有几节课。

我的文档类(Main.as)实例化类播放器和Soundsloader。 在玩家类中,当玩家在游戏中拾取一个项目时,我想播放一个短小的声音。我使用以下代码执行此操作:MovieClip(this.main_object.sound_loader).playPickUp();

在我的文档类中,我还实例化了SoundsLoader,它基本上应该加载所有声音。 (我的示例代码只有一个)

package  {
    import flash.display.MovieClip;

    public class SoundsLoader extends MovieClip{

        private var pick_up_item:sound_pickup_item =  new sound_pickup_item;

        public function SoundsLoader() {
        }

        public function playPickUp(){
            pick_up_item.play();
        }
    }
} 

然而,当我使用这些方法时,我的swf文件冻结片刻,播放声音然后继续。那么这样做的最佳方法是什么? (我正在使用.wav声音)

1 个答案:

答案 0 :(得分:3)

如果这只是在您第一次播放声音时发生,可能是由于解压缩问题。我放弃了下载延迟,因为你告诉你已经加载了预加载器中的所有声音或类似内容。

就像我说的,如果仅在第一次发生时,一种解决方法是在预加载时播放所有声音,但是静音。

示例:

public function SoundsLoader() {            
    var songController:SoundChannel = pick_up_item.play();          
    var volControl:SoundTransform = songController.soundTransform;
    volControl.volume = 0;
    songController.soundTransform = volControl;
}

或者

public function SoundsLoader() {            
    var songController:SoundChannel = pick_up_item.play();          
    songController.stop;
}