AVAudioSession : microphone headphone as input and

2019-05-06 10:01发布

With iOS10 there are more possibilities to manage AUdioSession, but i couldn't manage to keep the headphone microphone as input while audio is going out through the iphone speaker.

The 'overrideOutputAudioPort' method below also override the input audio port as the iphone microphone

let session = AVAudioSession.sharedInstance()
do {
  try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
  try! session.overrideOutputAudioPort(.speaker)  
} catch {
}

Is there any solution to keep the headphone as input?

1条回答
祖国的老花朵
2楼-- · 2019-05-06 10:48

How I undeerstand this Apple documentation, this is not possible using AVAudioSession:

If a headset is plugged in at the time you set this property’s value to kAudioSessionOverrideAudioRoute_Speaker, the system changes the audio routing for input as well as for output: input comes from the built-in microphone; output goes to the built-in speaker.

查看更多
登录 后发表回答