Estoy trabajando en un proyecto de iOS que necesita cancelación de eco acústico, por lo que el subtipo kAudioUnitSubType_VoiceProcessingIO parece ser una buena opción. A continuación se muestra la descripción de mi unidad de audioError de inicialización de gráfico de audio con kAudioUnitSubType_VoiceProcessingIO unidad de IO de audio subtipo
//io unit description
AudioComponentDescription ioUnitDescription;
ioUnitDescription.componentType = kAudioUnitType_Output;
ioUnitDescription.componentSubType = kAudioUnitSubType_VoiceProcessingIO;
ioUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
ioUnitDescription.componentFlags = 0;
ioUnitDescription.componentFlagsMask = 0;
Y en base a mi experiencia con el subtipo RemoteIO, He activado el elemento de entrada:
UInt32 enable = 1;
AudioUnitSetProperty(ioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &enable, sizeof(enable));
Sin embargo, ha obtenido un error al inicializar el gráfico de audio. El mismo gráfico de audio funciona bien si VoiceProcessingIO se reemplaza por RemoteIO.
¿Hay alguna diferencia entre RemoteIO y VoiceProcessingIO que necesita una atención especial?
Gracias, Chuankai
siento a comentar en una única pregunta pero ¿ha de averiguar la cancelación de eco? Los documentos Apple siguen refiriéndose al procesamiento de voz IO que tiene esta característica, pero no puedo encontrar un ejemplo de ello en ninguna parte. Realmente lo apreciaría –