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), при отключении фонового сервиса он работал.

Проверьте путь к файлу, каталог должен существовать.

Другие вопросы по тегам