Я работаю над проектом 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