无需用户交互即可自动拍照

时间:2013-01-09 16:04:06

标签: android camera

我想以这样一种方式拍照,即不需要用户交互,也不会显示用户交互元素。换句话说,我想使用后台进程拍照。不得发出任何声音(如拍摄照片时的相机快门)。如果可能的话,如果我可以设置相机的分辨率而不是在拍摄后调整图像大小,也会很好。

我见过的所有代码示例都使用显示典型相机应用的活动,并让用户手动拍摄照片。

1 个答案:

答案 0 :(得分:3)

我认为Camera的开发页面很好地概述了这个过程。你看过了吗?

  
      
  1. 从open(int)获取Camera实例。
  2.   
  3. 使用getParameters()获取现有(默认)设置。
  4.   
  5. 如有必要,修改返回的Camera.Parameters对象并调用setParameters(Camera.Parameters)。
  6.   
  7. 如果需要,请调用setDisplayOrientation(int)。
  8.   
  9. 重要提示:将完全初始化的SurfaceHolder传递给setPreviewDisplay(SurfaceHolder)。没有表面,相机将无法开始预览。
  10.   
  11. 重要提示:调用startPreview()开始更新预览曲面。必须先开始预览才能拍照。
  12.   
  13. 如果需要,可以调用takePicture(Camera.ShutterCallback,Camera.PictureCallback,Camera.PictureCallback,Camera.PictureCallback)来捕捉照片。等待回调提供实际的图像数据。
  14.   
  15. 拍照后,预览显示将停止。要拍摄更多照片,请先再次调用startPreview()。
  16.   
  17. 调用stopPreview()以停止更新预览表面。
  18.   
  19. 重要事项:调用release()以释放相机以供其他应用程序使用。应用程序应立即在onPause()中释放相机(并在onResume()中重新打开())。
  20.   

虽然确实提到了预览,但您始终可以隐藏用于预览的曲面。不需要用户交互。