2016-02-10 8 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, когда я его печатаю, подключены наушники или нет. –