iOS 10.0语音识别错误kAFAssistantErrorDomain

时间:2016-06-14 07:42:04

标签: ios swift speech-recognition 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)

    })

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

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

你有什么想法吗?

1 个答案:

答案 0 :(得分:11)

我有同样的错误,但相同的代码在设备上运行良好。因此,在物理设备上安装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)
                }
            })
        }
    }
}

I wrote about this in more detail here.