android - 从前置摄像头捕获图片并将其保存在 SD 卡上,无需预览

标签 android camera

如何在没有预览的情况下从前置摄像头拍摄照片并将其保存到 SD 卡。 请帮助我提供源代码。

最佳答案

 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
                }
              }
            };
          }
        }

关于android - 从前置摄像头捕获图片并将其保存在 SD 卡上,无需预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9734856/

相关文章:

java - 当我在另一个应用程序 Intent 上调用 startIntent 时抛出 SecurityException

android - 你如何将 onDestroy 放在 recyclerview 适配器中?是否可以?

c# - 如何从 WIA 相机获取视频?

android - 前置摄像头无法扫描条形码

javascript - react native 相机检测人脸

android - 检测Android中的突然向上运动

android - 未能释放 208019456 on/data;最终可用空间 141062144 :

android - 从 xml 布局中获取格式化的资源字符串

javascript - three.js - 相机变化的非常奇怪的行为

iphone - 延迟 20 秒从 iPhone 摄像头播放实时视频流