iPhone SDK audioSession вопрос

В моем приложении я записываю и играю аудио одновременно. Приложение почти закончено. Но существует одна вещь, что раздражающая меня. То, когда аудио сессия установлена на PlayAndRecord, звучит, становятся тихими по сравнению с теми же звуками с категорией SoloAmbient. Там какой-либо путь состоит в том, чтобы сделать звук громче использующим PlayAndRecord?

6
задан Jonathan Feinberg 23 October 2009 в 13:46
поделиться

2 ответа

Когда вы используете сеанс для воспроизведения и записи, воспроизведение выходит из динамика, используемого для телефона, в противном случае он выходит на динамик, расположенный в нижней части телефона. Это для предотвращения обратной связи. Вы можете переопределить это так (но следите за обратной связью, а не проблемой, если вы не делаете сразу)

    //when the category is play and record the playback comes out of the speaker used for phone conversation to avoid feedback
    //change this to the normal or default speaker

    UInt32 doChangeDefaultRoute = 1;        
    AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);

Этот код работает на 3.1.2, ранее SDK вы должны сделать по-разному.

    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
    status = AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride);

Вы должны быть осторожны с этим методом, он будет переопределен, даже если у вас есть наушники, подключенные, вы должны следить за прерываниями и соответствующим образом изменить маршруты. намного лучше, используя 3.1.2

7
ответ дан 17 December 2019 в 02:30
поделиться

Попросите пользователю подключить наушники?

Комбинация для наушников + MIC не страдает от этой проблемы.

Я не знаю, является ли это ошибкой, следствием аудиомассажера, Или если тихое воспроизведение - это просто преднамеренная и умашковая Способ получения чистых записей.

Обновление

Я обнаружил, что настройка сеанса Playandrecord меняет ваш звуковой маршрут к приемнику.
По-видимому, применение использования для телефонии приложений, где пользователь удерживает устройство до уха.

Если это не нарушает принцип наименее удивления, я не знаю, что делает.

-1
ответ дан 17 December 2019 в 02:30
поделиться