Flash能够进行低延迟音频合成吗?

3
使用Sound类的SAMPLE_DATA事件合成声音时,Flash文档建议最多写出8192个样本。但在我的系统上,除非每次事件至少写入4192个样本,否则声音会中断。这是一整个十分之一秒,这将引起用户的注意。
我可能有预先缓冲的选项,但这对我的应用程序来说是一个主要的麻烦。是否有任何方法可以获得较低的延迟音频输出?

我曾经使用麦克风和SampleDataEvent,但没有意识到它对于生成声音如此酷炫。文档中关于计算延迟的注释很有趣,你尝试过使用这么多样本吗:((SampleDataEvent.position/44.1) - SoundChannel.position)。或者也许你需要让用户可以选择数量(从文档中逃避 :))。 - Sunil D.
我认为延迟可能与最小缓冲区大小所引入的延迟不同。 - user1300292
1个回答

2
很遗憾,SAMPLE_DATA 是合成音频的主要方式,但在不同平台上性能和延迟各有差异。为了获得最小的延迟,您可以在 SampleDataEvent 中提供尽可能少的样本(2048)。
此外,还有一个名为Sound.loadPCMFromByteArray 的功能,它是在 Flash Player 11 中添加的,允许您将样本直接加载到普通的 Sound 对象中。虽然这对于实时动态音频合成并不是很有用,但它允许您预先生成声音,并在需要时播放它。

谢谢。我想要进行预生成,但需要一些复杂性才能实现我想要的功能。 - user1300292

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接