actionscript 3-AS3.0无延迟播放声音



我有几个类。

我的文档类(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声音)

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

就像我所说的,如果这种只发生在第一次,一个变通方法是在预加载时间播放所有声音,但要静音。

示例:

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;
}

最新更新