在不清除audiosession类别选项的情况下调用setMode

在不清除audiosession类别选项的情况下调用setMode,ios,avaudiosession,Ios,Avaudiosession,似乎如果我有一个固定的类别 // example AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .voiceChat, options: [.allowBluetooth, .defaultToSpeaker]) 然后,过了一段时间,我打电话 AVAudioSession.sharedInstance().setMode(.default) 我的音频会话类别参数(即,.[allowBluetooth,.de

似乎如果我有一个固定的类别

// example
AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .voiceChat, options: [.allowBluetooth, .defaultToSpeaker])
然后,过了一段时间,我打电话

AVAudioSession.sharedInstance().setMode(.default)
我的音频会话类别参数(即,.[allowBluetooth,.defaultToSpeaker])被
setMode
调用完全清除

有没有一种方法可以在不清除类别选项的情况下调用setMode()? 知道这一点很有用,因为
setCategory()
似乎需要很多时间(阻止我的主线程),而
setMode
是一个更快的调用