【问题标题】:IPhone audio: Volume faint ( but okay with headphones )iPhone 音频:音量微弱(但耳机没问题)
【发布时间】:2011-08-14 16:41:03
【问题描述】:

我收到了意外的音频行为:

问题 -- iPhone 设备音量很微弱,但如果我插上耳机,音量就完美了

  1. 首先,在没有任何插件的情况下在 iPhone 上启动应用程序。
  2. 音频可以,但是太微弱了,真的好像是最小音量。但音量开到最大。
  3. 现在我插入耳机。全音量。太棒了!
  4. 拔下耳机。转到(2)

我是否从插入耳机开始都没有关系。这似乎是一个无关的问题

编辑:这种行为是我的应用程序特有的。我已经尝试过 Apple 的 AVTouch 示例,无论是否使用耳机,它的行为都正确。

【问题讨论】:

  • 编程相关问题在哪里?
  • 如果你甚至问这个问题,这意味着它完全超出了你的专业领域,你真的不应该扔桨。是你投票关闭这个问题?
  • @Claus,这是一个编程问题,请参阅 Ohmu 的回答。

标签: iphone core-audio volume avaudiosession headphones


【解决方案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 );

会话默认使用接收器,因此只需要被告知使用扬声器即可。

【讨论】:

  • “完全没有理由我能想到” - 这是因为如果你真的同时播放和录制声音,那么手机底部的麦克风会拾取更多从旁边的扬声器发出的不需要的声音,而不是从耳朵一直向上发出的声音。
猜你喜欢
  • 2012-12-22
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2022-08-22
  • 2017-03-14
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多