Я пытаюсь получить список всех устройств, подключенных к моему iphone (внешние и внутренние камеры и микрофоны). Как это сделать?
Я использую AVCaptureDevices.devices()
, но этот метод возвращает только устройства по умолчанию (переднюю и заднюю камеру и встроенный микрофон). Подключаю блютуз микрофон, у меня такая же отдача.
Как я могу получить список доступных устройств, подключенных к моему телефону?
Я нашел обходной путь. Используя AVAudioSession.sharedInstance().availableInputs
, я могу получить все устройства ввода звука и установить их с помощью AVAudioSession.sharedInstance().setPreferredInput()
Пример:
let audioSession: AVAudioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSession.Category.playAndRecord, options: .allowBluetooth)
try audioSession.setActive(true)
} catch {
print("Error messing with audio session: \(error)")
}
// All audio devices, bluetooth included
let audioInputDevices: [AVAudioSessionPortDescription] = audioSession.availableInputs!