简体   繁体   English

Android:相机不可用问题

[英]Android: Camera is not available problem

I am trying to capture video and the routine throws an exception when the execution reaches recorder.prepare() statement: 我正在尝试捕获视频,并且当执行到达recorder.prepare()语句时,例程抛出异常:

private void recordVideoStart(){
    if(recorder != null)
    {
        recorder.stop();
        recorder.release();
    }
    File file = new File("/sdcard/videoTest.3gpp");
    try {
        file.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


    recorder = new MediaRecorder();
    recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setOutputFile(file.getAbsolutePath());
    recorder.setVideoSize(176, 144);
    recorder.setVideoFrameRate(15);
    //recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    recorder.setPreviewDisplay(videoPreview.getSurface());

    try {
        recorder.prepare();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    recorder.start();
}

Looking the LogCat I noticed the line "Camera is not available". 看着LogCat,我注意到“相机不可用”这一行。

Does anyone know what could be wrong here and how to enable video capture? 有谁知道这里可能出现的问题以及如何启用视频捕获?

Thanks! 谢谢!

您需要将摄像机设置为录像机。

recorder.setCamera(Camera.open());

你在AndroidManifest.xml中添加了:

<uses-permission android:name="android.permission.CAMERA" />

Make sure the following permissions are there in your manifest. 确保清单中包含以下权限。 WRITE_EXTERNAL_STORAGE is required for it to write onto our SD card 它需要WRITE_EXTERNAL_STORAGE才能写入我们的SD卡

  <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
        <uses-permission android:name="android.permission.CAMERA"></uses-permission>
        <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM