开发者社区 问答 正文

Android:相机不可用的问题

我正在尝试捕获视频,并且当执行到达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();
}

在查看LogCat时,我注意到“相机不可用”行。

有谁知道这里可能出什么问题以及如何启用视频捕获?

谢谢!

展开
收起
Puppet 2020-01-20 09:45:15 520 分享 版权
1 条回答
写回答
取消 提交回答
  • 您需要将摄像机设置为录像机。

    
    recorder.setCamera(Camera.open());
    
    2020-01-20 09:45:32
    赞同 展开评论
问答分类:
问答标签:
问答地址: