2009-06-30 4 views

ответ

10

Я не знаю, как вы делаете свою воспроизведение звука, но попробуйте иметь взгляд на раздел «Перенаправление Output Audio» в Audio Session Programming Guide

Это выглядит примерно так:

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

Это также изменяет маршрут ввода? Я хочу взять входной сигнал от внешнего микрофона и использовать внутренние динамики для выхода. Могу ли я это сделать с помощью этого метода? – Namratha

+0

Я не уверен, когда вы говорите внешний микрофон, вы имеете в виду микрофон устройства вместо микрофона гарнитуры? – slf

+2

Нет, я имел в виду микрофон, который снаружи подключен. Вход должен быть взят из этого. Я решил проблему. Нашел ваше сообщение очень полезно! – Namratha

0

На самом деле, я думаю, что это невозможно, поскольку, похоже, какой-то механический переключатель, который указывает на подключенную гарнитуру, тем самым предотвращая выход динамиков, когда это так. (читай here)

Некоторые другие подсказки могут быть найдены в описании kAudioSessionProperty_OverrideCategoryDefaultToSpeaker: «Указывает, следует ли направить звук на динамик (вместо к приемнику), когда нет другого аудио маршрута, такие как гарнитура , подключен."

Смежные вопросы