Ошибка инициализации звукового графа с подтипом аудиоустройства ввода-вывода kAudioUnitSubType_VoiceProcessingIO

Я работаю над проектом iOS, который требует подавления акустического эха, поэтому подтип kAudioUnitSubType_VoiceProcessingIO кажется хорошим выбором. Ниже приводится описание моего аудиоустройства

//io unit description 
AudioComponentDescription ioUnitDescription;
ioUnitDescription.componentType = kAudioUnitType_Output;
ioUnitDescription.componentSubType = kAudioUnitSubType_VoiceProcessingIO;
ioUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
ioUnitDescription.componentFlags = 0;
ioUnitDescription.componentFlagsMask = 0;

И, основываясь на моем опыте работы с подтипом RemoteIO, я включил элемент ввода:

UInt32  enable = 1;
AudioUnitSetProperty(ioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &enable, sizeof(enable));

Однако я получил ошибку при инициализации аудиографа. Тот же звуковой график хорошо работает, если VoiceProcessingIO заменен RemoteIO.

Есть ли разница между RemoteIO и VoiceProcessingIO, требующая особого внимания?

Спасибо, Chuankai

6
задан Beleg 18 July 2012 в 19:01
поделиться