Звук iPhone: слабая громкость (но с наушниками все в порядке)

Я получаю неожиданное поведение звука:

проблема - громкость устройства iPhone очень слабая, но если я подключу наушники, громкость идеальная

  1. Во-первых, запустите приложение на iPhone, когда ничего не подключено.
  2. Звук работает, но он такой слабый, как будто на минимальной громкости. но он на максимальной громкости.
  3. сейчас подключаю наушники. полный объем. отличный!
  4. отключите наушники. Перейти к (2)

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

РЕДАКТИРОВАТЬ: это поведение свойственно моему приложению. Я пробовал образец Apple AVTouch, и он работает правильно с наушниками и без них.


person P i    schedule 28.04.2011    source источник
comment
Где вопрос, связанный с программированием?   -  person Claus Broch    schedule 28.04.2011
comment
Если вы даже задаете этот вопрос, это означает, что он полностью выходит за рамки вашей компетенции, и вам действительно не следует вмешиваться. Это вы проголосовали за закрытие этого вопроса?   -  person P i    schedule 28.04.2011
comment
@ Клаус, это вопрос программирования, см. Ответ Ому.   -  person zoul    schedule 29.04.2011


Ответы (1)


ууууу!

// kAudioSessionOverrideAudioRoute_Speaker would only work once.  
// kAudioSessionProperty_OverrideCategoryDefaultToSpeaker works
//     until the session changes.
SET_PROPERTY( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,        UInt32,   (UInt32) YES );

в основном iPhone имеет 2 внутренних динамика, «приемник», который упирается в ухо, когда вы принимаете вызов, и внешний динамик гораздо большего размера (эти 2 решетки по обе стороны от разъема питания, левый - внешний динамик, правый микрофон - сбивает с толку: однажды я отнес свой iPhone в ремонтную мастерскую в Таиланде, потому что мой «правый динамик» не работал, и мне даже предложили починить его ?! К счастью, мне не понравилась цена. ...)

во всяком случае, по абсолютно беспричинной причине, которую я могу придумать,

SET_PROPERTY( kAudioSessionProperty_AudioCategory,  UInt32,  
                 kAudioSessionCategory_PlayAndRecord );

по умолчанию сеанс использует приемник, поэтому нужно просто указать ему использовать динамик.

person P i    schedule 29.04.2011
comment
по абсолютно беспричинной причине, о которой я могу думать - это потому, что если вы действительно играете и записываете звук одновременно, то микрофон в нижней части телефона улавливает гораздо больше нежелательного звука из динамика рядом с ним, чем от одного до самого уха. - person Martin Gjaldbaek; 07.06.2011