iOS 10.0语音识别错误kAFAssistantErrorDomain

我尝试使用语音识别如下
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,我调试并看到如下错误

错误域= kAFAssistantErrorDomain代码= 1101“(null)”

你有什么主意吗?

解决方法

我有相同的错误,但相同的代码在设备上工作正常.因此,在物理设备上安装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,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.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...