我看到这里已经问过一个问题:
我已经使用此线程签入,但没有响应。
但是,有谁知道AVAudioRecorder是否/为什么不能将AirPods用作在应用中录制音频的输入设备?我通过内置麦克风以及其他BT设备(节拍器,cheapo BT扬声器电话等)进行音频记录,但是使用AirPods时我无法捕获音频。
另外,当要记录时,我将遍历可用的输入,并在这种情况下将输入强制为BT设备(请参见下面的代码)。再次适用于除AirPods之外的所有其他BT设备。
有什么想法吗?关于我们在这里做错什么的任何指导都是很棒的。这真令人发疯。
NSError *error;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord withOptions:audioSession.categoryOptions|AVAudioSessionCategoryOptionAllowBluetooth
error:&error];
[audioSession setActive:YES error:nil];
NSLog(@"Data sources: %@", [audioSession availableInputs]);
// Data sources: ("<AVAudioSessionPortDescription: 0x1706071b0, type = MicrophoneBuiltIn; name = iPhone Microphone; UID = Built-In Microphone; selectedDataSource = Bottom>",
"<AVAudioSessionPortDescription: 0x170611bd0, type = BluetoothHFP; name = Dan\U2019s AirPods; UID = 50:32:37:E0:90:37-tsco; selectedDataSource = (null)>"
for (AVAudioSessionPortDescription *desc in [audioSession availableInputs]){
NSLog(@"Port desc: %@", desc.portType);
// Loop: 1) Port desc: MicrophoneBuiltIn
// 2) Port desc: …Run Code Online (Sandbox Code Playgroud)