Я разрабатываю простое настольное приложение, которое одновременно воспроизводит и записывает аудио. Все шло хорошо, пока я так и не обработал ошибку - теперь каждый раз, когда я пытаюсь позвонить AVAudioEngine
inputNode
или mainMixer
, он выдает сообщение об ошибке.AVAudioEngine inputNode call throws error
У меня есть свойство @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*)()
У меня было это раньше, поэтому я предполагаю, что забываю что-то очевидное?
Xcode v6.2 кстати – benjineer
И, похоже, 6.3 также. – mahboudz
FWIW, поскольку исключение, исключенное из C++ Exception, вы можете изменить точку останова «Все исключения» на «Все исключения Objective-C», если вам все еще нужны исключения Objective-C (для этого щелкните правой кнопкой мыши по «Все исключения» «точка останова и выберите« Изменить точку останова », затем измените« Исключение »на« Объектив-С »вместо« Все »). – Ryan