是否有任何AS3库或代码片段可以即时(在运行时)创建Sound对象的更改版本?基于:
例如,假设您有 “干” 枪声。你可以:
如果这个预处理在游戏开始之前发生,那么你所要做的就是播放改变后的Sound对象。这样就不需要使用 SampleDataEvent API ,它仍然消耗相当多的CPU能力。
那么,可以在运行时使用音频内容创建和填充 <{1>}个对象吗?
更新
为了进一步澄清我的问题,我正在寻找一种在运行时编译Sound对象的方法,而不是“合成”或“ stream ”音频与 SampleDataEvent API (CPU使用率仍然过于激烈)。
我的最终目标是轻松创建预先嵌入我的库(或外部SWF / SWC)的某些干声的副本,但在运行之前使用各种过滤器更改它们,然后将它们编译为Sound对象(可能有一些动态SWF生成hackery)。
您可以想象它就像...使用 DAW 音频软件加载现有声源,使用您选择的滤镜(LP,HP,Reverb,Delay,Distortion)离线处理它。 ..),渲染它,将它添加到一个新的Flash文档的库中,设置一个类名,和Voila!您的最终结果是在重复(但已更改)的Sound对象中播放的内容。
如果您知道可以执行此类离线DSP处理的任何ActionScript 3.0库(SWC或源),我很乐意听到它。
答案 0 :(得分:1)
使用Flash Player 11,您可以使用Sound.loadPCMFromByteArray在运行时从ByteArray创建声音,并且您可以处理PCM ByteArray以获得您想要的效果,然后使用它创建声音。 您可以参考green sock volume example(或其他库)来了解如何处理声音,我对此没有太多了解; o)