我正在开发用于在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上。