這個想法是在一個按鈕上按下用戶語音輸入並將其傳遞給應用程序內部的搜索。由於設備限制,我們使用SearchViewCompat而不是有用的SearchView。我已經能夠使用this link獲取語音輸出,但是沒有簡單的方法將文本傳遞到搜索欄。
搜索視圖本身顯示爲一個視圖(所以沒有setText()),但如果我可以只說「在鍵盤上使用麥克風鍵」或者一旦搜索欄出現,我認爲它可能工作。任何幫助將不勝感激。
謝謝, SGB。有沒有一種方法可以在軟鍵盤上以編程方式啓動語音輸入?
回答
對不起已經回答了我自己的問題,但在這裏它是: 我把整個「搶從聲音輸入一個字符串數組」關中的問題,然後鏈接的,而不是剛剛開始搜索與onSearchRequested()
,我做到這一點:
startSearch(grabString, false, null, false);
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(aViaBuildConfig.MIC_KEY) {
DebugLog.e(TAG , "onDown event : " + event);
DebugLog.e(TAG , "onDown keyCode: " + keyCode);
if(keyCode == Constants.MIC_KEY) {
onSearchRequested();
Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
try {
startActivityForResult(voiceIntent, Constants.RESULT_SPEECH);
} catch (ActivityNotFoundException ex) {
DebugLog.e(TAG, "Not found excpetion onKeyDown: " + ex);
}
}
return super.onKeyDown(keyCode, event);
}
return false;
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case Constants.RESULT_SPEECH:
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> spokenSearch = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
DebugLog.e("Glenn: " , "Speech = " + spokenSearch);
String grabString = spokenSearch.get(0);
startSearch(grabString, false, null, false);
}
break;
}
}
不,這是不可能的。至少,沒有簡單方式來啓動語音輸入,而不使用RecognitionListener
或手動點擊軟鍵盤上的語音輸入按鈕。
據我所知,this post解釋瞭如何將語音集成到實際使用此庫的IME中:google-voice-typing-integration。它可能會激勵你一點。
嗯,這不是我真正想要的,但這是一些很棒的信息。我可以使用RecognitionListener作爲第二個或第三個選項。 – 2013-02-14 15:22:11
您可以創建一個包含按鈕的視圖來觸發語音輸入。然後在適當的時候調用它,比如'EditText.OnClickListener'。看看這個問題:http://stackoverflow.com/questions/1896939/android-app-specific-soft-keyboard – 2013-02-14 18:55:17
- 1. 以編程方式啓動UIWebView鍵盤
- 2. Android軟鍵盤沒有以編程方式更改
- 3. 有沒有一種方法可以調用鍵盤上的「完成」鍵?
- 4. 有沒有一種方法可以在Web應用程序中以編程方式播放音頻?
- 5. 有沒有一種方法可以在python中輸入文字?
- 6. 以編程方式啓用/禁用鍵盤聲音和振動
- 7. 有沒有一種方法可以在JavaScript中以編程方式修復JSON語法錯誤?
- 8. 有沒有一種方法來以編程方式打開/關閉粘滯鍵?
- 9. 有沒有在iPhone上以編程方式啓動Voice Control的方法?
- 10. 如何以編程方式將android軟鍵盤靜音?
- 11. 有沒有一種方法可以在WordPress中以編程方式啓用插件的插件?
- 12. 以編程方式在android中的軟輸入鍵盤上禁用語音到文本按鈕(微型手機)
- 13. 有沒有一種方法可以在HTML 5語音輸入API中使用語法?
- 14. 有沒有辦法以編程方式啓動Mobile me同步?
- 15. 有沒有一種方法可以接收外焦表單的關鍵輸入?
- 16. 軟鍵盤沒有得到隱藏編程方式在android
- 17. 有沒有一種鍵盤快捷方式可以阻止Access在清除鏈接表/查詢後啓動?
- 18. 有沒有一種鍵盤快捷方式可以在cmder中重新啓動當前控制檯?
- 19. 在.NET中有沒有一種方法可以通過現有的XML文件以編程方式生成DTD?
- 20. 有沒有辦法以編程方式生成一個ovf文件,可以用來啓動啓動ISO映像?
- 21. 有沒有一種方法可以通過編程方式安裝提示特權升級(UAC)的軟件?
- 22. Cordova:以編程方式觸發wp8上的軟鍵盤
- 23. 有沒有一種方法可以在Linux上使用C++
- 24. android以編程方式確定軟鍵盤上的語音聽寫是否已啓用
- 25. 在FitNesse中 - 有沒有一種方法可以以編程方式查看測試是否失敗/通過
- 26. 有沒有一種方法可以在calc open office中以編程方式(使用宏)附加文件(.txt)?
- 27. 有沒有一種方法可以在主要的FOREX消息下以編程方式避免EA交易?
- 28. 在Unix環境中,有沒有一種方法可以以編程方式調用C中的哪個?
- 29. 有沒有一種方法可以部署我的Silverlight應用程序並以編程方式更改設置?
- 30. 有沒有一種方法可以基於xml定義以編程方式創建一個imageview對象?
對缺乏評論感到抱歉:第1部分只是抓住keyDown並啓動「獲取coive東西「以android的方式進行活動,第二個是抓住答案並將其傳遞給搜索。關鍵是startSearch(grabString,false,null,false); – 2013-02-15 21:19:50