2012-03-16 48 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