J'écris une application qui enregistre le son avec kAudioUnitSubType_VoiceProcessingIO
unité audio. Et il y a un bug étrange que j'essaie d'attraper depuis quelques jours. Le gain interne du microphone est modifié automatiquement pour tout le système après la création d'une nouvelle instance de l'unité VPIO.
Code d'initialisation :
AudioComponentDescription audioComponentDescriptionWildcard =
{
kAudioUnitType_Output,
kAudioUnitSubType_VoiceProcessingIO,
kAudioUnitManufacturer_Apple
};
AudioComponent audioComponent =
AudioComponentFindNext(NULL,
&audioComponentDescriptionWildcard);
OSStatus status = AudioComponentInstanceNew(audioComponent, &audioComponentInstance);
La manière la plus simple de vérifier le problème est de créer un point d'arrêt sur AudioComponentInstanceNew
appeler et lancer un appel skype vers le service d'appel test skype. Avant que cette ligne ne s'exécute, la voix enregistrée est forte et claire. Après l'exécution de cette ligne, le niveau du microphone chute de façon spectaculaire.
Avec les autres unités, tout est normal. Et l'application n'interfère pas avec d'autres applications d'enregistrement.