2009-06-30 14 views

Respuesta

10

No estoy seguro de cómo se encuentra la reproducción de audio, pero trata de echar un vistazo a la sección "Redirección de la salida de audio" de la Audio Session Programming Guide

Se ve algo como esto:

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; // 1 
AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,       // 2 
    sizeof (audioRouteOverride),          // 3 
    &audioRouteOverride            // 4 
); 
+1

¿Esto también cambia la ruta de la entrada? Quiero tomar la entrada de un micrófono externo y quiero usar los altavoces internos para la salida. ¿Puedo hacer eso usando este método? – Namratha

+0

No estoy seguro, cuando dices micrófono externo, ¿te refieres al micrófono del dispositivo en lugar de a un micrófono con auriculares? – slf

+2

No no, me refiero al micrófono que está enchufado externamente. La entrada debe tomarse de ahí. Tengo mi problema resuelto. ¡Encontré tu publicación muy útil! – Namratha

0

En realidad, creo que esto no es posible, ya que parece que hay algún tipo de interruptor mecánico, que indica un auricular conectado impidiendo así la salida del altavoz cuando este es el caso. (leer here)

Algunos otros consejos se pueden encontrar en la descripción de kAudioSessionProperty_OverrideCategoryDefaultToSpeaker: "Especifica si se debe dirigir el sonido al altavoz (en lugar de al receptor) o no cuando no hay otra ruta de audio, tales como un auricular , está conectado."

Cuestiones relacionadas