2009-06-10 105 views
0

我正在製作一個閃光燈,它基本上是一個非常簡單的追蹤器。我的問題是關於順序播放和更具體的時間問題。Flash中連續聲音的無縫播放

SoundChannel對象方便地提供了一個SoundCompleted事件,但是依靠這種方式會導致聲音之間的微小差距,這使得它無用。

我到目前爲止設法挖掘出的所有教程都是使用觸發每毫秒的事件並手動觀察打勾從何處開始下一個聲音的教程。這看起來有些駭人而且不必要的資源浪費。

有沒有更好的方法來按照無間隙回放順序計時發音?

回答

0

這可以工作,但超時不是獨立於幀速率,或者不完全是。正如你所說,它們觸發的時間儘可能接近設定的超時時間,但我發現根據幀速率的不同,其精確度有一些變化。

但是至於原來的問題,我做了一些研究和answered it myself

0

如果您查詢當前聲音的時間(或剩餘時間)(以毫秒爲單位),並且set a timeout在那段時間內,並且在超時處理程序中開始下一個聲音,是否可行?這並不是我嘗試過的並且可靠的方法,但超時處理程序將被調用到接近Flash Player可以管理的直接時間(不管幀速率等)。所以,如果它不起作用,我無法想象還會有什麼,除非它是估計需要多少MS的餘地的一些變化,並且試圖在當前預定的5ms之前開始下一個聲音5ms或等等。結束。