我有一个应用程序,即使耳机插入,也可以通过内置麦克风录制。 为此,我使用了:
let session = AVAudioSession.sharedInstance()
session.setPreferredInput(session.availableInputs[0] as! AVAudioSessionPortDescription, error: nil)
问题在于,当插入耳机时,用户的声音由内置麦克风录制,但如果没有插入耳机,则录制在较低的水平。我们几乎不听他的声音。
我尝试使用和不使用耳机打印输入增益,但在两种情况下都是1.0,最大值。
有什么想法可以来吗?
答案 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
中将此集成到我的应用中