将字符串参数添加到 AudioUnit
Posted
技术标签:
【中文标题】将字符串参数添加到 AudioUnit【英文标题】:Add a string parameter to an AudioUnit 【发布时间】:2010-09-29 10:25:16 【问题描述】:例如,这个 AudioUnit 必须通过网络连接到主机,并且主机名必须在 Cocoa View 中配置,并且必须保存以便重新加载项目恢复主机名。
你会怎么做(接口+参数保存,当然除了网络的东西)?
【问题讨论】:
【参考方案1】:您需要在 AudioUnit 中实现 SaveState()
和 RestoreState()
方法。这些函数将分别在序列器保存和打开文档时调用,并让您有机会将数据与特定插件实例一起存储。
这些函数的定义可以在 AudioUnit SDK 的 AUBase.h
文件中找到。
【讨论】:
确实,lists.apple.com/archives/coreaudio-api/2008/Feb/msg00112.html 说了同样的话。 似乎code.google.com/p/vstau/source/browse/trunk/VSTAU.cpp 在 VSTAU::SaveState 和 VSTAU::RestoreState 中展示了一个很好的示例,用于在 AU 的文档存储中存储整个 (VST) 块。 但是如何将 NSString 从 CocoaView 发送到 AudioUnit 内核? @moala,你应该把它作为一个单独的问题......这里有点像 O/T。 :) 无论如何,我有答案:使用音频单元的属性(AudioUnitGetProperty、AudioUnitSetProperty)、事件通知(PropertyChanged)和AudioUnitEvent 监听器(AUEventListenerCreate)。例如,请参阅 CoreAudio 的音频单元过滤器示例以了解模型。以上是关于将字符串参数添加到 AudioUnit的主要内容,如果未能解决你的问题,请参考以下文章