我将一个mp3嵌入到我的Flex项目中以用作音效,但是我发现每次播放它时都会有大约半秒的延迟当我打电话.play()时,你可以听到声音。这使得它很奇怪,因为我想让音效与游戏事件同步。我的mp3本身只有大约五分之一秒,所以它不是因为mp3的内容。在Actionscript/Flex中播放嵌入式mp3之前的延迟3
我与
[Embed(source="assets/Tock.mp3")]
[Bindable]
public static var TockSound:Class;
public var tock_sound:SoundAsset;
嵌入,然后用
if (tock_sound == null) {
tock_sound = new TockSound() as SoundAsset;
}
Alert.show("tock");
tock_sound.play();
玩我知道有一个延迟,因为声音警报显示后第二起大约一半。我确实认为这可能是构建TockSound的初始加载时间,但是所有后续调用中都存在延迟。
如何避免播放声音的这种延迟?
更新:事实证明,只有在Linux上播放swf时才会出现此延迟。我相信这是Adobe的Flash播放器中Linux特有的缺陷。
可以检查声音是否已经准备好?即mp3的状态? – milesmeow 2009-11-20 06:27:05
您是否检查过http:// stackoverflow。com/questions/227674/latency-in-playing-short-sounds-in-flash-9-actionscript-3获取更多帮助? – zaf 2010-04-17 11:48:33