IOS.Отключить микрофон Apple Watch при записи видео на iPhone - PullRequest
0 голосов
/ 24 октября 2018

Я разрабатываю приложение для записи видео на iOS.Я вручную управляю AVAudioSession для записи с Bluetooth-гарнитуры.

Проблема: Когда я подключаю Apple Watch к iPhone, приложение игнорирует другие источники звука и использует микрофон от Apple Watch, если я отключаю Apple Watch, все работает правильно.Как правильно выбрать аудиовход, когда Apple Watch сопряжена?

Код для настройки AVAudioSession:

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:false error:nil];

[session setCategory:AVAudioSessionCategoryPlayAndRecord
         withOptions:AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessionCategoryOptionAllowBluetoothA2DP error:nil];
[session setActive:true error:nil];

NSArray<AVAudioSessionPortDescription*> *ports = [self audioPorts];

«Порты» содержат «Микрофон iPhone» и «WI-C300», ноне содержит Apple Watch.Также мой код выбирает аудиовход «WI-C300», но приложение записывает звук из Apple Watch.

Для ручного управления AVAudioSession я использую этот код:

//session - AVCaptureSession
[session setAutomaticallyConfiguresApplicationAudioSession: false];
[session setUsesApplicationAudioSession:true];

Для выбора аудиопортаЯ использую:

//port - AVAudioSessionPortDescription
[[AVAudioSession sharedInstance] setPreferredInput:port  error:nil];

На iPhone установлена ​​iOS 12, на Apple Watch установлена ​​watchOS 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...