Android 开发随手笔记之使用摄像头拍照

2019-12-10 19:51:47于海丽
  • @Override  public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { 
  • }  @Override 
  • public void surfaceDestroyed(SurfaceHolder holder) {  stopCamera(); // 用于关闭摄像头 
  • }  }; 
  • surfaceView.getHolder().addCallback(callback); // 将Callback绑定到SurfaceView 

    在启动摄像头的时候,首先打开摄像头连接,然后将其图像输出到SurfaceView上,然后启动摄像头预览即可在SurfaceView上显示摄像头的画面,这里的画面和实际画面相差有90度,所以我们需要将图像旋转90度之后才可以和拍摄的物体方向一致。

    在关闭摄像头时,只要停止预览,然后释放摄像头资源即可。

     

     
    1. public void startCamera(){  camera = Camera.open(); 
    2. try {  camera.setPreviewDisplay(surfaceView.getHolder()); 
    3. camera.setDisplayOrientation(90);  camera.startPreview(); 
    4. } catch (IOException e) {  e.printStackTrace(); 
    5. }  } 
    6. public void stopCamera(){  camera.stopPreview(); 
    7. camera.release();  camera = null;