2016-10-07 155 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