AVAudioEngine inputNode 调用抛出错误

AVAudioEngine inputNode call throws error

我正在开发一个简单的桌面应用程序,它可以同时播放和录制音频。一切进展顺利,直到我以某种方式在其中解决了一个错误 - 现在每次我尝试调用 AVAudioEngineinputNodemainMixer,它都会抛出一个错误。

我的 header 中有一个 属性 @property (nonatomic, readonly) AVAudioEngine *engine;,在我的 init 方法实现中有以下代码,它会抛出 inputNode 通话:

if (self = [super init]) {
   _engine = [[AVAudioEngine alloc] init];

   AVAudioInputNode *node = [_engine inputNode];
}
return self;

在所有异常上设置断点会导致调用堆栈顶部如下所示:

#0  0x00007fff8ba19ab7 in __cxa_throw ()
#1  0x0000000108123779 in AUHAL::GetAudioChannelLayout(unsigned int, unsigned int, AudioChannelLayout*, unsigned char&) ()
#2  0x00000001081183c6 in AUBase::DispatchGetPropertyInfo(unsigned int, unsigned int, unsigned int, unsigned int&, unsigned char&) ()
#3  0x00000001081cdf66 in AUMethodGetPropertyInfo(void*, unsigned int, unsigned int, unsigned int, unsigned int*, unsigned char*) ()

我以前做过这个,所以我想我忘记了一些明显的东西?

好的,出于某种原因,删除 All Exceptions 断点解决了问题。

XCode 或 AVFoundation 中存在错误,或者我不知道如何使用 XCode。