1

我正在录制音频。以下代码可以正常工作,直到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();
    }
}
4

1 回答 1

0

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

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

于 2018-09-13T08:18:28.493 回答