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

问题描述 投票:0回答:2

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

我无法从主机那里找到执行此操作的方法。我已经看到 AU 应该有 SaveState() 和 RestoreState() 方法,但是如何访问它们?

hosting core-audio audiounit
2个回答
2
投票

基本上,您可以通过使用

kAudioUnitProperty_ClassInfo
AudioUnitGetProperty()
(分别用于保存和恢复)获取或设置
AudioUnitSetProperty()
属性来处理它们。

您可以在 dfx-au-utilities-preset-files.c 文件中的方法

RestoreAUStateFromPresetFile()
SaveAUStateToPresetFile_Bundle()
中的 DestroyFX Audio Unit 实用程序库 中查看此示例实现。


0
投票

我按照规定使用 kAudioUnitProperty_ClassInfo。然而,对于 Apple 提供的 AU,我似乎只能在创建音频图后第一次保存参数。对于非苹果设备,它工作正常,我可以在每次保存时重复保存新值。有人可以在这里给我见解吗?非常感谢。

杰夫·弗雷

© www.soinside.com 2019 - 2024. All rights reserved.