我有以下问题: 我使用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