在Flash中无缝播放连续声音

时间:2009-06-10 12:45:23

标签: flash actionscript-3 audio timing cs3

我正在制作闪光灯,这基本上是一个非常简单的追踪器。我的问题是关于顺序播放,更具体地说是时序问题。

SoundChannel对象可以方便地提供一个SoundCompleted事件,但依靠它会导致声音之间的微小间隙,这(可悲)使它无用。

到目前为止,我已经设法挖掘了所有教程,使用触发每毫秒的事件并手动观察滴答声在哪里开始下一个声音。这似乎有些过时,而且不必要的资源浪费。

使用无间隙播放是否有更好的方法来按顺序计时声音?

2 个答案:

答案 0 :(得分:0)

如果您以毫秒为单位查询当前声音的时间(或剩余时间),并在该时间段内查询set a timeout,并在超时处理程序中开始下一个声音,那会有效吗?这不是我尝试过的并且发现可靠的东西,但是超时处理程序将被调用为接近Flash Player可以管理的直接时间(无论帧速率等)。因此,如果它不起作用,我无法想象还有什么,除非它是估计需要多少MS余地的一些变化,并尝试在当前的计划之前启动下一个声音5ms或其他任何声音端。

答案 1 :(得分:0)

这可能有效,但超时并不是独立于帧率,或者完全不是。正如你所说,它们触发尽可能接近设定的超时但我发现根据帧速率的确切性存在一些变化。

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