我正在开发一个AUv3主机应用程序,我希望在加载的音频单元由于某种原因崩溃(失效)时通知用户。我看了苹果关于AUAudioUnit的文档,但没有找到任何关于如何从主机应用程序检测音频单元(AUv3)无效的信息。
有人知道怎么做吗?
谢谢
发布于 2020-11-18 18:20:25
在设置AudioEngine时,您可以观察kAudioComponentInstanceInvalidationNotification,以确定其音频组件实例是否在以后失效。
[[NSNotificationCenter defaultCenter] addObserverForName:kAudioComponentInstanceInvalidationNotification object:nil queue:nil usingBlock:^(NSNotification *note) {
AUAudioUnit *auUnit = (AUAudioUnit *)note.object;
NSValue *val = note.userInfo[@"audioUnit"];
AudioUnit auAddress = (AudioUnit)val.pointerValue;
NSLog(@"AudioComponent Invalidation of Unit:%@ with Address:%p", auUnit, auAddress);
}];请记住,您可能已经收到了通知,但组件最终陷入了死锁。因此,在尝试恢复时,您可能不得不关闭整个主机应用程序。
https://stackoverflow.com/questions/64860944
复制相似问题