AudioRecord: start() status -38
android, audiorecord
Solution
You need to make sure you issue `audioRecord.stop();` and `audioRecord.release();` in your `onPause()` or similar methods. If you don't, the next time you run the app, you won't get access to the device, and you'll get `start() status -38`
Problem
I have the following problem: I use SpeechRecognizer to identify a few words. I use the ``` public void onResults ``` method to destroy the SpeechRecognizer. Right after the destruction I initialize an AudioRecord and start recording from the mic. This leads to the following error in my logcat: ``` 12-09 00:44:01.976: E/AudioRecord(21185): start() status -38 ``` No exception is thrown in my code. The AudioRecord just does not start properly. I am assuming that the SpeechRecognizer does not release the microphone quickly enough, because if I add a Thread.sleep(200) in front of the initialization of the AudioRecord, I do not experience this issue. This solution is very bad for obvious reasons. Thus, I have the following question: How do I check whether the AudioRecord is initialized properly? (I do not get an exception in my code.) ``` _audioRecord.getState() == AudioRecord.STATE_UNINITIALIZED ``` is false as well. Or how do I check whether SpeechRecognizer released the microphone properly? Thanks a lot!