iPhone SDK audioSession вопрос - PullRequest
       6

iPhone SDK audioSession вопрос

6 голосов
/ 23 октября 2009

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

Ответы [ 2 ]

7 голосов
/ 27 января 2010

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

    //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

0 голосов
/ 23 января 2010

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

Сочетание наушников и микрофона не страдает от этой проблемы.

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

UPDATE

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

Если это не нарушает Принцип Наименьшего Сюрприза, я не знаю, что делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...