0
我正在研究android.speech
程序包的工作原理,我發現語音識別器忽略了與意圖RecognizerIntent.ACTION_WEB_SEARCH
一起使用的大多數附加信息。ACTION_WEB_SEARCH識別器識別器的可用選項
- 如果我使用
RecognizerIntent.EXTRA_LANGUAGE
extra設置語言,則指定的語言將被忽略,但始終使用設備的默認語言。 - 如果我使用
RecognizerIntent.EXTRA_PROMPT
設置文本,則不顯示此文本。 - 如果我使用
startActivityForResult
方法開始語音識別的活性,則語音識別器調用onActivityResult
,但第二個參數(resultCode
)總是RESULT_CANCELED
,第三個參數(數據Intent
)總是null
。這種行爲可能是由於這種意圖類型的目的是在網上執行搜索。出於同樣的原因,如果我使用RecognizerIntent.EXTRA_MAX_RESULTS
來設置最大結果數,則將忽略指定的值。
我發現此行爲,但official documentation表示這些選項也可以用於ACTION_WEB_SEARCH
意圖。
爲什麼語音識別系統的實際行爲與官方文檔中陳述的不同?
那麼,我已經使用了'ACTION_RECOGNIZE_SPEECH',並且驗證了所有附加工作。但我不明白爲什麼一些額外功能不適用於'ACTION_WEB_SEARCH':可能這種行爲的原因是這種意圖不會將結果返回給調用活動。 我很驚訝'EXTRA_LANGUAGE'額外不起作用:如果我設置了另一種語言而不是默認語言,「現在講話」對話框顯示指定的語言,但不能識別說出的單詞。相反,「EXTRA_LANGUAGE」額外的工作使用了「ACTION_RECOGNIZE_SPEECH」意圖。 – enzom83 2012-03-23 12:26:04
我同意相同的語言字符串應該適用於這兩種意圖 – gregm 2012-03-23 13:13:45