在iOS上插入耳机时,麦克风内置的输入声音会降低

时间:2016-02-10 09:17:12

标签: ios swift avfoundation microphone avaudiosession

我有一个应用程序,即使耳机插入,也可以通过内置麦克风录制。 为此,我使用了:

let session = AVAudioSession.sharedInstance()

session.setPreferredInput(session.availableInputs[0] as! AVAudioSessionPortDescription, error: nil)

问题在于,当插入耳机时,用户的声音由内置麦克风录制,但如果没有插入耳机,则录制在较低的水平。我们几乎不听他的声音。

我尝试使用和不使用耳机打印输入增益,但在两种情况下都是1.0,最大值。

有什么想法可以来吗?

1 个答案:

答案 0 :(得分:0)

以下是一段可能非常有用的代码: -

func setInputGain(gain: Float) {
  let audioSession = AVAudioSession.sharedInstance()
  if audioSession.inputGainSettable {
    var error : NSErrorPointer = nil
    let success = audioSession.setInputGain(gain, error: error)
    if success {
      println("\(error)")
    }
  }
  else {
    println("Cannot set input gain")
  }
}

我也已在此Source

中将此集成到我的应用中