2016-10-07 154 views
3

我正在处理语音到文本iOS 10功能。SFSpeechRecognitionTaskDelegate委托方法没有被调用

我想调用SFSpeechRecognitionTaskDelegate的委托方法来检查完成的结果。

func speechRecognitionTask(_ task: SFSpeechRecognitionTask, didFinishRecognition recognitionResult: SFSpeechRecognitionResult); 

但是它的任何委托方法都没有被调用。 另外我很好奇为什么它的.delegate属性不可用于将代理设置为self。

任何帮助将不胜感激。提前致谢。

被修改: 另外,由协议设置的委托属性未在文档中找到。即

@property (nonatomic, weak) id<SFSpeechRecognitionTaskDelegate> delegate; 

在SFSpeechRecognitionTask.h文件中不可用。 我们需要财产吗?

+0

你能展示一些代码吗? – Vats

+0

啊!忘了再次在这里发表评论。有一个明确的方法让这个委托来调用。 recognitionTaskWithRequest:委托:方法可用于此。 我在SFSpeechRecognizer文档中找到了这个方法。 在这里,你会得到它:https://developer.apple.com/reference/speech/sfspeechrecognizer?language=objc – Vin

回答

0

参考这篇文章,它包含在迅速speechkit演示应用程序,

https://www.appcoda.com/siri-speech-framework/

它工作正常的我。

+0

那么你使用SFSpeechRecognitionTaskDelegate的委托方法? 你能分享一下SFSpeechRecognitionTaskDelegate方法的代码片段吗? – Vin

+0

我正在使用SFSpeechRecognizerDelegate。 – KAR

+0

好的。我想要一个程序,在语音停顿一段时间后,识别器应该停止工作,并且应该给出语音识别的最终结果。我将这些文本作为输入发送到我的SearchView控制器。所以我需要用户提供的完整句子 – Vin