2009-06-10 106 views
0

我正在制作一个闪光灯,它基本上是一个非常简单的追踪器。我的问题是关于顺序播放和更具体的时间问题。Flash中连续声音的无缝播放

SoundChannel对象方便地提供了一个SoundCompleted事件,但是依靠这种方式会导致声音之间的微小差距,这使得它无用。

我到目前为止设法挖掘出的所有教程都是使用触发每毫秒的事件并手动观察打勾从何处开始下一个声音的教程。这看起来有些骇人而且不必要的资源浪费。

有没有更好的方法来按照无间隙回放顺序计时发音?

回答

0

这可以工作,但超时不是独立于帧速率,或者不完全是。正如你所说,它们触发的时间尽可能接近设定的超时时间,但我发现根据帧速率的不同,其精确度有一些变化。

但是至于原来的问题,我做了一些研究和answered it myself

0

如果您查询当前声音的时间(或剩余时间)(以毫秒为单位),并且set a timeout在那段时间内,并且在超时处理程序中开始下一个声音,是否可行?这并不是我尝试过的并且可靠的方法,但超时处理程序将被调用到接近Flash Player可以管理的直接时间(不管帧速率等)。所以,如果它不起作用,我无法想象还会有什么,除非它是估计需要多少MS的余地的一些变化,并且试图在当前预定的5ms之前开始下一个声音5ms或等等。结束。