2016-02-10 41 views
0

即使插入了耳機,我也可以通過iPhone的內置麥克風記錄應用程序。 要做到這一點我用:在iOS上插入耳機時內置麥克風的輸入聲音較低

let session = AVAudioSession.sharedInstance() 

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

的問題是,當插入耳機時,用戶的聲音是通過內置的麥克風,但在一個較低的水平,如果沒有耳機插入記錄。我們幾乎不在他的聲音。

我試圖打印有和沒有耳機輸入的增益,但在兩種情況下,它都是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

+0

每次控制檯打印我「無法設置輸入增益「:/但是不管怎樣,當我打印輸入增益時,輸入增益總是爲1.0,耳機插頭與否。 –