SwiftUI:语音识别在iPhone上可以通过在iPad上崩溃而起作用

问题描述

我不知道为什么该应用程序可以在iphone上运行但在ipad上崩溃。我正在建立语音转文字功能

这是我对文本代码的讲话

func StartRecording() -> String{

// Configure the audio session for the app.
let audioSession = AVAudioSession.sharedInstance()
try! audioSession.setCategory(.record,mode: .measurement,options: .duckOthers)
try! audioSession.setActive(true,options: .notifyOthersOnDeactivation)
let inputNode = audioEngine.inputNode
//
let recordingFormat = inputNode.outputFormat(forBus: 0)
inputNode.installTap(onBus: 0,bufferSize: 1024,format: recordingFormat) { (buffer: AVAudioPCMBuffer,when: AVAudioTime) in
    self.recognitionRequest?.append(buffer)
}

audioEngine.prepare()
try! audioEngine.start()
// Create and configure the speech recognition request.
recognitionRequest = SFSpeechAudioBufferRecognitionRequest()
guard let recognitionRequest = recognitionRequest else { fatalError("Unable to create a SFSpeechAudioBufferRecognitionRequest object") }
recognitionRequest.shouldReportPartialResults = true

// Create a recognition task for the speech recognition session.
// Keep a reference to the task so that it can be canceled.
recognitionTask = speechRecognizer.recognitionTask(with: recognitionRequest) { result,error in
    var isFinal = false
    if let result = result {
        // Update the text view with the results.
        self.recognizedText = result.bestTranscription.formattedString
        isFinal = result.isFinal
    }
    if error != nil || isFinal {
        // Stop recognizing speech if there is a problem.
        self.audioEngine.stop()
        inputNode.removeTap(onBus: 0)
        self.recognitionRequest = nil
        self.recognitionTask = nil
    }
}                   
              
 return recognizedText
}

该应用程序可以在iPhone上正常运行,但不能在iPad上正常运行。 这是我在ipad模拟器上尝试运行语音识别时遇到的错误

由于未捕获的异常'com.apple.coreaudio.avfaudio'而终止了应用程序,原因:'所需条件为假:format.sampleRate == hwFormat.sampleRate'

是什么原因导致崩溃的,我该如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)