iOS。在iPhone上录制视频时禁用Apple Watch麦克风

时间:2018-10-24 20:03:47

标签: ios objective-c

我正在开发用于在iOS上录制视频的应用程序。 我手动管理AVAudioSession以从蓝牙耳机进行录音。

问题: 当我将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];

在安装了iOS 12的iPhone上,在安装了watchOS 5的Apple Watch上。

0 个答案:

没有答案