2011-04-28 28 views
1

我收到意想不到的音頻行爲:IPhone音頻:音量微弱的(但好帶耳機)

問題 - iPhone設備的體積是非常微弱的,但是如果我插上耳機的音量完美

  1. 首先,啓動應用程序在iPhone上什麼也沒有插好。
  2. 音頻作品,但它是如此的微弱,真的,如果它是最小的體積上。但它是在最大音量。
  3. 現在我插上耳機。完整的音量。大!
  4. 拔掉耳機。轉到(2)

無論我是否從耳機插入或不插入都沒關係。這似乎是一個不相關的問題

編輯:這種行爲是特有的我的應用程序。我曾嘗試過Apple的AVTouch示例,並且這種行爲在使用和不使用耳機時都是正確的。

+0

哪裏編程相關的問題嗎? – 2011-04-28 13:25:58

+0

如果你甚至提出這個問題,這意味着它完全超出了你的專業領域,而你真的不應該投擲槳。你是否投票結束這個問題? – 2011-04-28 14:08:52

+0

@克勞斯,這是一個編程問題,請參閱Ohmu的答案。 – zoul 2011-04-29 06:15:21

回答

2

哇噢!

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

會默認使用接收器,所以它只是需要被告知使用的揚聲器來代替。

+1

「因爲我能想到的絕對沒有什麼好理由」 - 這是因爲如果你真的在同時播放和錄製聲音,那麼手機底部的麥克風會從揚聲器接收到更多不想要的聲音而不是從你的耳朵一直到你的耳朵。 – 2011-06-07 13:26:01

+0

@Pi好點:) – onmyway133 2013-05-07 10:19:55