Если пользователь выбирает приемник (переопределение outputudioport (.none) без. Allowbluetooth), а затем хочет автоматически переключиться на AirPods, удаляя AirPods, а затем поместите их обратно в ухо, Airpods больше не обнаруживаются, хотя они подключены в системе. Но если я хочу ручной изменить маршрут, который я могу, поведение, которое я прошу, похоже на то, что делает WhatsApp. < /P>
func configureAudioSession(mode: AVTokAudioMode) {
guard currentMode != mode || userHasManuallyOverriddenRoute else { return }
let session = AVAudioSession.sharedInstance()
do {
switch mode {
case .forceSpeaker:
try session.setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP])
try session.overrideOutputAudioPort(.speaker)
case .allowBluetooth:
try session.setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP])
try session.overrideOutputAudioPort(.none)
case .forceReceiver:
try session.setCategory(.playAndRecord, options: [])
try session.overrideOutputAudioPort(.none)
}
try session.setMode(.voiceChat)
try session.setActive(true, options: [.notifyOthersOnDeactivation])
currentMode = mode
} catch {
print("
}
}
< /code>
Как я могу правильно повторно включить обнаружение Airpods после перехода в режим приемника?
Есть ли надежный способ обновлять или сбросить сеанс, чтобы Airpods снова отображался в avaudiosession.currentroute или разрешить автоматическое повторение? < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... diosession