2

AVAudioEngine和相关的AVAudioNode对象似乎对音频处理非常强大,但很难看到如何使用它们自动更改参数。作为一个粗略的例子,我确信一定有比手动使用 aTimer来更改值更有效的方法。

AVMutableAudioMixInputParameters包括一个方法setVolumeRampFromStartVolume:toEndVolume:timeRange:,但我看不到如何将其与AVAudioPlayerNode(与 AVAudioEffectNodes 连接)集成并使用该方法随着时间的推移淡化音量。相反,我只看到了AVMutableAudioMixInputParameters使用AVMutableComposition实例的示例,并且没有一个包含AVAudioNode对象。

任何人都可以发布或链接到一些代码示例,这些示例将 AVAudioNodes 的使用与setVolumeRampFromStartVolume:toEndVolume:timeRange:或解释随着时间的推移在节点上自动更改参数的最佳实践?

非常感谢

4

1 回答 1

3

AVAudioEngine 是一个实时引擎,但 AVMutableComposition 似乎是一个非实时对象。因而不相容。另一种方法是构建并插入您自己的推子实时 AUAudioUnit 节点。

于 2017-08-06T17:03:06.963 回答