Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 电子/媒体记录器﹕ 启动失败:-19记录器上出现异常。启动()_Android_Android Camera_Mediarecorder - Fatal编程技术网

Android 电子/媒体记录器﹕ 启动失败:-19记录器上出现异常。启动()

Android 电子/媒体记录器﹕ 启动失败:-19记录器上出现异常。启动(),android,android-camera,mediarecorder,Android,Android Camera,Mediarecorder,我正在尝试使用MediaRecorder类来录制前置摄像头。 我已经成功地使用后向摄像头拍摄了视频,但现在我不断遇到以下错误: E/MediaRecorder﹕ start failed: -19 我为mediarecorder初始化尝试了多个值,但都没有改变错误,因此大多数设置都使用默认值 以下是我对媒体录制器的初始化: recorder.setCamera(openFrontFacingCamera()); recorder.setAudioSource(MediaRecorder.Aud

我正在尝试使用MediaRecorder类来录制前置摄像头。 我已经成功地使用后向摄像头拍摄了视频,但现在我不断遇到以下错误:

E/MediaRecorder﹕ start failed: -19
我为mediarecorder初始化尝试了多个值,但都没有改变错误,因此大多数设置都使用默认值

以下是我对媒体录制器的初始化:

recorder.setCamera(openFrontFacingCamera());
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
   {
    String nowDate = new SimpleDateFormat("mmhhddMMyyyy").format(new Date());
    String externalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath();
    String externalOutputPath = externalStoragePath + File.separator + nowDate + ".mp4";
    recorder.setOutputFile(externalOutputPath);
    Log.d("Path", "The output path: " + externalOutputPath);
   }
else
   {
    String nowDate = new SimpleDateFormat("mmhhddMMyyyy").format(new Date());
    String storagePath = Environment.getDataDirectory().getAbsolutePath();
    recorder.setOutputFile(storagePath + nowDate + ".mp4");
    Log.d("Path", "The output path: " + storagePath);
   }

recorder.setVideoSize(320,240);
recorder.setVideoFrameRate(30);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
开放式正面照相机

private Camera openFrontFacingCamera() {
    int cameraCount = 0;
    Camera cam = null;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras();
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo);
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            try {
                cam = Camera.open(camIdx);
                camID =  camIdx;
            } catch (RuntimeException e) {
                Log.e("CameraError", "Camera failed to open: " + e.getLocalizedMessage());
            }
        }
    }
    return cam;
}