Android MediaRecorder启动失败:-38

时间:2020-03-19 00:39:43

标签: android mediarecorder android-mediarecorder

我想使用MediaRecorderCamera类的外部摄像机录制视频(我已弃用)。但是,启动记录器后,我得到illegalStateException并显示以下日志:start failed: -38

-38引用什么?!

这是我的代码:

private void initRecorder() {
    int videoWidth = mCamera.getParameters().getPreviewSize().width;
    int videoHeight = mCamera.getParameters().getPreviewSize().height;
    mCamera.unlock();
    recorder = new MediaRecorder();
    recorder.setCamera(mCamera);
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);

    CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    CamcorderProfile cpHigh = CamcorderProfile.get(Integer.valueOf(getFrontFacingCameraId(manager)), CamcorderProfile.QUALITY_HIGH);
    recorder.setProfile(cpHigh);
    recorder.setOutputFile("/sdcard/videocapture_example.mp4");
    recorder.setMaxDuration(50000); // 50 seconds
    recorder.setMaxFileSize(5000000); // Approximately 5 megabytes
    recorder.setVideoSize(videoWidth, videoHeight);

    prepareRecorder();
}

private void prepareRecorder() {
    recorder.setPreviewDisplay(mCameraPreview.getHolder().getSurface());

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

0 个答案:

没有答案