Начало работы с медиа-рекордером в API уровне 27 (8.1.0) - PullRequest
0 голосов
/ 04 мая 2018

Я работаю над записями аудио. Следующий код работает правильно до API level 25.

Но при записи аудио исключение не удалось запустить медиа-рекордер в пиксельном устройстве (API level 27)(8.1.0) версия.

Вот мой код.

 private void startRecording() {
    recorder = new MediaRecorder();
    if (Build.VERSION.SDK_INT <= 22) {
        recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
    } else {
        recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    }
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

    recorder.setOutputFile(getFilename());
    recorder.setOnErrorListener(errorListener);
    recorder.setOnInfoListener(infoListener);

    try {
        recorder.prepare();
        recorder.start();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Попробуйте проверить, есть ли у вас разрешения на запись: android.permission.RECORD_AUDIO

И убедитесь, что приложение разрешило запрашиваемое разрешение во время выполнения.

...