В моем приложении я записываю и играю аудио одновременно. Приложение почти закончено. Но существует одна вещь, что раздражающая меня. То, когда аудио сессия установлена на PlayAndRecord, звучит, становятся тихими по сравнению с теми же звуками с категорией SoloAmbient. Там какой-либо путь состоит в том, чтобы сделать звук громче использующим PlayAndRecord?
Когда вы используете сеанс для воспроизведения и записи, воспроизведение выходит из динамика, используемого для телефона, в противном случае он выходит на динамик, расположенный в нижней части телефона. Это для предотвращения обратной связи. Вы можете переопределить это так (но следите за обратной связью, а не проблемой, если вы не делаете сразу)
//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
Попросите пользователю подключить наушники?
Комбинация для наушников + MIC не страдает от этой проблемы.
Я не знаю, является ли это ошибкой, следствием аудиомассажера, Или если тихое воспроизведение - это просто преднамеренная и умашковая Способ получения чистых записей.
Обновление
Я обнаружил, что настройка сеанса Playandrecord меняет ваш звуковой маршрут к приемнику.
По-видимому, применение использования для телефонии приложений, где пользователь удерживает устройство до уха.
Если это не нарушает принцип наименее удивления, я не знаю, что делает.