如何保存和恢复作为音频单元主机的音频单元状态

Posted

技术标签:

【中文标题】如何保存和恢复作为音频单元主机的音频单元状态【英文标题】:How to save and restore an audiounit's state as an audiounit host 【发布时间】:2011-05-03 23:07:09 【问题描述】:

我正在编写一个托管苹果系统提供的音频单元的应用程序。我想在用户拨入后保存音频单元的参数状态,并在用户再次加载音频单元时恢复它们。

我无法从主持人那里找到这样做。我已经看到 AU 应该有 SaveState() 和 RestoreState() 方法,但是你如何访问它们呢?

【问题讨论】:

【参考方案1】:

基本上,您可以通过使用AudioUnitGetProperty()AudioUnitSetProperty() 获取或设置kAudioUnitProperty_ClassInfo 属性来处理它们(分别用于保存和恢复)。

您可以在 dfx-au-utilities-preset-files.c 文件中的方法 RestoreAUStateFromPresetFile()SaveAUStateToPresetFile_Bundle() 中的 DestroyFX Audio Unit utilities library 中看到一个示例实现。

【讨论】:

以上是关于如何保存和恢复作为音频单元主机的音频单元状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在音频单元扩展(实时进程)中为音频文件播放分配内存?

如何在 iPhone 上使用音频单元

如何使用音频单元 osx 从设备音频输入中获取音频

iOS 11 + Xcode 9.0 = 无音频单元

是否可以枚举音频单元参数描述?

音频单元 (v3) 可以替换应用间音频以将音频发送到主机应用程序吗?