2012-03-16 47 views
5

如何从前置摄像头捕获图片而无需预览并将其保存到SD卡。 请帮助我使用源代码。从前置摄像头捕获图片并将其保存在SD卡上,无需预览

+0

看看这里,http://stackoverflow.com/questions/3601928/camera-capture-without-预览在Android的2-2,即使它不相关它将有助于 – 2012-03-16 09:44:57

+0

可能重复的[Android相机无预览](http://stackoverflow.com/questions/2386025/android-camera-without-preview) – 2012-03-16 09:45:00

回答

7
public void takePictureNoPreview(Context context){ 
      // open back facing camera by default 
      Camera myCamera=Camera.open(); 

      if(myCamera!=null){ 
      try{ 
       //set camera parameters if you want to 
       //... 

       // here, the unused surface view and holder 
       SurfaceView dummy=new SurfaceView(context) 
       myCamera.setPreviewDisplay(dummy.getHolder());  
       myCamera.startPreview(); 

       myCamera.takePicture(null, null, getJpegCallback()): 

      }finally{ 
       myCamera.close(); 
      }  

      }else{ 
      //booo, failed! 
      } 


      private PictureCallback getJpegCallback(){ 
      PictureCallback jpeg=new PictureCallback() { 
       @Override 
       public void onPictureTaken(byte[] data, Camera camera) { 
       FileOutputStream fos; 
       try { 
        fos = new FileOutputStream("test.jpeg"); 
        fos.write(data); 
        fos.close(); 
       } catch (IOException e) { 
        //do something about it 
       } 
       } 
      }; 
      } 
     } 
+1

谢谢F riend ... – Midhun 2012-03-16 23:59:26

+1

@ city0666,它将错误指向myCamera.setPreviewDisplay(dummy.getHolder()); 和私人PictureCallback getJpegCallback(){ – eawedat 2013-12-24 14:07:47

+0

为了使它适用于所有设备,曲面必须添加到某处并实际创建。请参阅http://stackoverflow.com/questions/2386025/android-camera-without-preview中的评论 – Lucy 2014-03-20 11:57:46

-1

不可能,但是,有解决方法。

看到这个以前的答案,请,要求在未来之前尝试搜索:https://stackoverflow.com/a/3881027/181002

+1

没有什么是不可能的兄弟...检查了这一点http://stackoverflow.com/questions/9744790/android-possible-to-camera-capture-without-a-preview – Midhun 2012-03-16 22:34:56

+0

@安德烈亚斯卡尔布姆你认为...... – city0666 2012-03-17 11:11:45