我尝试使用语音识别如下
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.