【发布时间】:2013-12-25 23:42:37
【问题描述】:
我有以下问题: 我使用 SpeechRecognizer 来识别几个单词。 我用的
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怎么样? -
谢谢,完全忽略了那个。
标签: android audiorecord