Je développe une application qui devrait avoir les propriétés suivantes en ce qui concerne l'audio:propriétés iPhone AudioSession
- peut enregistrer et lire son en même temps
- peut mélanger la sortie audio avec d'autres applications, par exemple sortie audio iPod
- au haut-parleur lorsque l'écouteur est pas branché la sortie audio
- à écouteurs quand il est branché
je le code suivant.
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *audioSessionError;
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&audioSessionError];
UInt32 mix = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(mix), &mix);
UInt32 route = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(route), &route);
[audioSession setActive:YES error:&audioSessionError];
Cependant, je peux obtenir 1-3, mais a échoué à 4. Lorsque l'écouteur est branché, l'audio est encore à travers le haut-parleur. Ensuite, j'ai essayé de régler kAudioSessionProperty_OverrideCategoryDefaultToSpeaker
au lieu de kAudioSessionProperty_OverrideAudioRoute
, mais cela a entraîné une pause de l'iPod au lieu de mélanger les deux audio. Quelqu'un pourrait-il s'il vous plaît aider à signaler ce qui ne va pas avec le code ci-dessus?
Merci pour toute aide.
Avez-vous essayé l'écoute des notifications de changement d'itinéraire audio et le réglage kAudioSessionOverrideAudioRoute_Speaker que si l'écouteur est pas branché, et à l'arrêt quand il est branché ? – lucius
Quelles importations sont nécessaires pour que cela fonctionne? –