媒体录制器在API级别27(8.1.0)

时间:2018-05-04 06:36:44

标签: android pixel mediarecorder

我正在录制音频。以下代码在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 :(得分:0)

尝试检查您是否具有录制权限:android.permission.RECORD_AUDIO

并确保该应用在运行时已允许请求的权限。