CameraView.java :  » Client » open-ar » jp » co » brilliantservice » app » openar » view » Android Open Source

Android Open Source » Client » open ar 
open ar » jp » co » brilliantservice » app » openar » view » CameraView.java
package jp.co.brilliantservice.app.openar.view;

import android.content.Context;
import android.hardware.Camera;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraView extends SurfaceView implements SurfaceHolder.Callback {
  private SurfaceHolder mSurfaceHolder;
  private Camera mCamera;

  public CameraView(Context context) {
    super(context);
    mSurfaceHolder = getHolder();
    mSurfaceHolder.addCallback(this);
    mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  }

  public CameraView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mSurfaceHolder = getHolder();
    mSurfaceHolder.addCallback(this);
    mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  }

  public void surfaceCreated(SurfaceHolder holder) {
    try {
      mCamera = Camera.open();
      mCamera.setPreviewDisplay(holder);
    } catch (Exception e) {
    }
  }

  public void stopCameraPreview() {
    mCamera.stopPreview();
    mCamera.release();
    mCamera = null;
  }

  public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    Camera.Parameters parameters = mCamera.getParameters();
    parameters.setPreviewSize(w,h);
    mCamera.setParameters(parameters);
    mCamera.startPreview();
  }

  public void surfaceDestroyed(SurfaceHolder holder) {
    mCamera.setPreviewCallback(null);
    mCamera.stopPreview();
    mCamera.release();
    mCamera = null;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.