Android: медиа-рекордер: запуск не удалось: -38
Краткое описание: как проверить, работает ли запись голоса в фоновом режиме в каком-либо другом приложении.
Подробно: если запись голоса уже выполняется в фоновом режиме из собственного приложения: Диктофон. Теперь я включил запись голоса в качестве одной из функций в моем приложении.
Проблема: при попытке записи в моем приложении одновременно выдается ошибка:
: E/MediaRecorder: start failed: -38
: E/MyApp: [1162][com.sec.MyApp.multimedia.RecordMyVoice]java.lang.IllegalStateException
: E/MyApp: at android.media.MediaRecorder.start(Native Method)
: E/MyApp: at com.sec.MyApp.multimedia.RecordMyVoice.doInBackground(RecordMyVoice.java:100)
Код в сотой строке в RecordMyVoice.java:
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.prepare();
mRecorder.start(); //code at 100th line
Но проблема в том, что запись голоса уже идет в фоновом режиме. Поэтому есть ли способ остановить запись голоса, если она запущена в каком-то другом приложении.
Любой вклад будет иметь большую помощь.
2 ответа
У меня была та же ошибка -38, я обнаружил, что есть еще один фоновый сервис, который использует микрофон через (AudioRecord), при отключении фонового сервиса он работал.