Почему не работает MediaRecorder?
Имеется такой код, с помощью которого я записываю данные с микрофона:
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mRecorder.setOutputFile(mFileName);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
}
mRecorder.start();
Так вот, при вызове метода start() получаю такой икзэпшн(на большинстве устройств):
E/AudioRecording: prepare() failed
E/MediaRecorder: start called in an invalid state: 4
E/AndroidRuntime: FATAL EXCEPTION: Timer-3
Process: music.player.musicplayer.audio.media.fm.video.radio.video.songs.equalizer.apps.free.android.lalala.download.search, PID: 7401
java.lang.IllegalStateException
at android.media.MediaRecorder.start(Native Method)
at musicplayer.audioplayer.equalizer.mp3player.activity.ShazamActivity$1$1.run(ShazamActivity.java:100)
at java.util.TimerThread.mainLoop(Timer.java:562)
at java.util.TimerThread.run(Timer.java:512)