iOS 10.0语音识别错误kAFAssistantErrorDomain

Don*_*ong 7 speech-recognition ios swift sfspeechrecognizer

我尝试使用语音识别如下

    let urlpath = Bundle.main().pathForResource("myvoice2", ofType: "m4a")
    let url:URL = URL.init(fileURLWithPath: urlpath!)

    let recognizer = SFSpeechRecognizer()
    let request = SFSpeechURLRecognitionRequest(url: url)
    recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
        print (result?.bestTranscription.formattedString)

    })
Run Code Online (Sandbox Code Playgroud)

结果是nil,我调试并看到如下错误

Error Domain=kAFAssistantErrorDomain Code=1101 "(null)"

你有什么主意吗?

Two*_*aws 12

我有相同的错误,但相同的代码在设备上工作正常.因此,在物理设备上安装iOS 10 beta并运行您的代码.像这样的东西应该做的伎俩:

SFSpeechRecognizer.requestAuthorization { authStatus in
    if authStatus == SFSpeechRecognizerAuthorizationStatus.authorized {
        if let path = Bundle.main().urlForResource("test", withExtension: "m4a") {
            let recognizer = SFSpeechRecognizer()
            let request = SFSpeechURLRecognitionRequest(url: path)
            recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
                if let error = error {
                    print("There was an error: \(error)")
                } else {
                    print (result?.bestTranscription.formattedString)
                }
            })
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里更详细地写了这篇文章.

  • @VaVisal超时错误是由于从不调用SFSpeechURLRecognitionRequest实例的endAudio方法引起的. (3认同)
  • 没错,谢谢@TwoStraws.问题发生在模拟器上,它在真实设备上工作. (2认同)
  • 我一直在测试真实设备,问题仍然存在.这就像应用程序运行一段时间但它停止时出现相同的错误:错误域= kAFAssistantErrorDomain代码= 203"超时"UserInfo = {NSLocalizedDescription =超时,NSUnderlyingError = 0x17004ff30 {错误域= SiriSpeechErrorDomain代码= 100"(null)"有没有想过这个?谢谢 (2认同)