Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3.0不延迟播放声音_Actionscript 3_Audio - Fatal编程技术网

Actionscript 3 AS3.0不延迟播放声音

Actionscript 3 AS3.0不延迟播放声音,actionscript-3,audio,Actionscript 3,Audio,我有几节课 我的文档类(Main.as)实例化了类player和Soundsloader。 在玩家类中,当玩家在游戏中拾取一个项目时,我想播放一个简短的声音。我使用以下代码执行此操作:MovieClip(this.main_object.sound_loader.playcopper() 在我的文档类中,我还实例化了SoundsLoader,它基本上应该加载所有的声音。 (下面我的示例代码中只有一个) 但是,当我使用这些方法时,我的swf文件会冻结片刻,播放声音,然后继续。那么最好的方法是什么呢

我有几节课

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

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


但是,当我使用这些方法时,我的swf文件会冻结片刻,播放声音,然后继续。那么最好的方法是什么呢?(我使用的是.wav声音)

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

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

例如:

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


使用mp3时,声音前后都有延迟。我一直想解决这个问题。即使使用as3wavsound类,在第一次播放声音时也会有延迟。将其静音播放是一种丑陋的解决方案。我希望有人知道更好的解决办法。否则我会把你的答案标为最佳答案。是的,这是一个丑陋的黑客。但是如果可行的话试试看,这样你就可以缩小问题的范围。是的,我编辑了你的帖子,以防有人在寻找正确的答案。
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;
}