API级别27(8.1.0)中的媒体录制器启动失败

问题描述 投票:1回答: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();
    }
}
android pixel mediarecorder
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.