我试图录制并语音识别从我的蓝牙AirPods麦克风传来的音频。
我尝试了我找到的所有方法,但都没有成功。我能够从内置麦克风录制,但一旦我将音频类别设置为蓝牙,它就会崩溃。
这是我代码的当前版本:
askSpeechPermission()
var request = SFSpeechAudioBufferRecognitionRequest()
var listOfInputs = AVAudioSession.sharedInstance().availableInputs
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryRecord, mode: AVAudioSessionModeDefault, options: AVAudioSessionCategoryOptions.allowBluetooth)
} catch {
}
let node = audioEngine.inputNode
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
self.request.append(buffer)
}
这是导致崩溃的错误信息。
*** 因错误异常 'com.apple.coreaudio.avfaudio' 而终止应用程序,原因为:'required condition is false: format.sampleRate == hwFormat.sampleRate'