在通話過程中是否可以運行SpeechRecognizer?我這樣做了:在通話過程中運行SpeechRecognizer
BroadcastReceiver
處理電話狀態變化(例如摘機)。SpeechRecognizer
在當前(主)線程中啓動,因爲它只能在主線程中啓動。應用上下文用於識別器(給予廣播接收器的當前上下文,不能開始使用)
但不幸的是,另一方的人聽不到我(語音識別雖然工作正常)。在遠處,識別器已經「消耗」了我的聲音並且不會發送它。
我知道在調用過程中在主線程中做事是危險的,但有沒有辦法在調用過程中以某種方式運行識別器?
更新:我正在嘗試TelephonyManager
聽衆而不是BroadcastReceiver
,但一些內部服務與NPE一起打擊。
有些應用程序可以記錄您的通話(您只能聽到您自己的單詞),所以我認爲應該可以通過某種方式進行通話並執行演講。可能這些處理器可以鏈接? – Bozho 2012-08-15 21:19:47
你可以指向谷歌播放應用程序頁面,因爲我還沒有找到任何 – nandeesh 2012-08-15 21:31:06
我曾經有一個應用程序記錄我的電話,甚至非常沉默版本的其他參與者(可能是從揚聲器可以聽到的一個並進入麥克風)。我不再擁有它了(沖刷我的手機),我不記得它是哪個「錄音」應用程序,但我確實做了一些錄音。 – Bozho 2012-08-15 21:33:01