我正在开发一个视频录制应用程序,并且需要能够使用蓝牙麦克风作为音频输入(如果已连接)。
我有以下代码来配置 AVCaptureSession 的音频输入:
self.captureSession.usesApplicationAudioSession = YES;
self.captureSession.automaticallyConfiguresApplicationAudioSession = NO;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
self.microphone = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
audioInput = [AVCaptureDeviceInput deviceInputWithDevice:self.microphone error:&error];
if ([self.captureSession canAddInput:audioInput])
{
[self.captureSession addInput:audioInput];
}
问题是,蓝牙麦克风永远不会显示为可用的捕获设备(尽管它已正确配对)。打印出 [AVCaptureDevice devices] 结果:
所以,无论我做什么,音频总是来自 iPad 的内置麦克风。