我有一个应用程序,即使插入耳机,也可以通过iPhone的内置麦克风进行录制。为此,我使用了:
let session = AVAudioSession.sharedInstance()
session.setPreferredInput(session.availableInputs[0] as! AVAudioSessionPortDescription, error: nil)
问题是,当插入耳机时,用户的声音由内置麦克风记录,但音量较低,如果没有插入耳机。我们这里几乎没有他的声音。
我尝试打印带耳机和不带耳机的输入增益,但在这两种情况下,最大值均为1.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")
}
}
我也从这个来源将其集成到我的应用程序中