2010-03-23 3 views
0

Dans mon application iPhone, j'essaie d'enregistrer de l'audio et de lire de la musique iPod en même temps. J'ai donc réglé la catégorie de session audio sur kAudioSessionCategory_PlayAndRecord. Mais quand je règle ceci, tout l'audio du système (y compris le vibreur) ne fonctionne plus, bien que l'audio de l'iPod fonctionne toujours. Est-ce que quelqu'un sait si c'est un bogue dans le SDK ou quelque chose, ou comment le contourner? S'il vous plaît aider!iPhone PlayAndRecord supprime toute l'audio du système?

Merci d'avance!

Répondre

3

En regardant la documentation de kAudioSessionOverrideAudioRoute nous indique que la valeur par défaut de la catégorie PlayAndRecord est d'acheminer l'audio vers le récepteur (le haut-parleur utilisé lorsque vous parlez au téléphone). Est-il possible que tout le son soit routé vers ça et que vous n'entendiez pas sans y mettre votre oreille?

Si vous souhaitez modifier l'emplacement de l'audio, vous devez appeler AudioSessionSetProperty et lui transmettre la constante spécifiant l'emplacement de l'audio. Ces constantes sont

kAudioSessionOverrideAudioRoute_None, qui précise que vous souhaitez que l'audio doit être acheminé vers le récepteur (comme il est maintenant), ou

kAudioSessionOverrideAudioRoute_Speaker, qui précise que l'audio doit être dirigé vers le haut-parleur au bas du téléphone

UInt32 routeVar = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(routeVar), &routeVar); 
Questions connexes