我有以下問題: 我使用SpeechRecognizer識別幾個單詞。 我使用AudioRecord:開始()狀態-38
public void onResults
方法破壞SpeechRecognizer。
在破壞之後,我初始化一個AudioRecord並從麥克風開始記錄。 這導致下面的錯誤在我的logcat:
12-09 00:44:01.976: E/AudioRecord(21185): start() status -38
無異常在我的代碼拋出。 AudioRecord只是無法正常啓動。 我假設SpeechRecognizer不會很快釋放麥克風, ,因爲如果我在AudioRecord的初始化之前添加Thread.sleep(200),則我不會遇到此問題。
由於顯而易見的原因,此解決方案非常糟糕。因此,我有以下問題:
如何檢查AudioRecord是否已正確初始化? (我的代碼沒有出現異常。)
_audioRecord.getState() == AudioRecord.STATE_UNINITIALIZED
也是錯誤的。
或者我該如何檢查SpeechRecognizer是否正確發佈了麥克風?
非常感謝!
如何檢查getRecordingState()是否等於RECORDSTATE_RECORDING? – Michael
謝謝,完全忽略了那一個。 – user3081081