我將一個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