ddkclaudio

Untitled

Jan 14th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.34 KB | None | 0 0
  1. package com.example.cameraddk;
  2.  
  3. import android.util.Log;
  4. import java.io.IOException;
  5. import android.content.Context;
  6. import android.hardware.Camera;
  7. import android.view.SurfaceView;
  8. import android.view.SurfaceHolder;
  9.  
  10. /** A basic Camera preview class */
  11. public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
  12.     private SurfaceHolder mHolder;
  13.     private Camera mCamera;
  14.     CameraUtil debug = new CameraUtil();
  15.  
  16.     public CameraPreview(Context context, Camera camera) {
  17.         super(context);
  18.         mCamera = camera;
  19.         debug.debug("CameraPreview","CameraPreview");
  20.         mHolder = getHolder();
  21.         mHolder.addCallback(this);
  22.         // deprecated setting, but required on Android versions prior to 3.0
  23.         mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  24.     }
  25.  
  26.     public void surfaceCreated(SurfaceHolder holder) {
  27.         debug.debug("CameraPreview","surfaceCreated");
  28.  
  29.         // The Surface has been created, now tell the camera where to draw the preview.
  30.         try {
  31.             mCamera.setPreviewDisplay(holder);
  32.             mCamera.startPreview();
  33.         } catch (IOException e) {
  34.             Log.d("CameraPreview", "Error setting camera preview: " + e.getMessage());
  35.         }
  36.     }
  37.  
  38.     public void surfaceDestroyed(SurfaceHolder holder) {
  39.         // empty. Take care of releasing the Camera preview in your activity.
  40.         debug.debug("CameraPreview","surfaceDestroyed");
  41.         if( mCamera != null ) {
  42.             mCamera.stopPreview( );
  43.             //mCamera.release();
  44.         }
  45.     }
  46.  
  47.     public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
  48.         debug.debug("CameraPreview","surfaceChanged");
  49.         // If your preview can change or rotate, take care of those events here.
  50.         // Make sure to stop the preview before resizing or reformatting it.
  51.  
  52.         if (mHolder.getSurface() == null){
  53.           // preview surface does not exist
  54.           return;
  55.         }
  56.  
  57.         // stop preview before making changes
  58.         try {
  59.             mCamera.stopPreview();
  60.            
  61.         } catch (Exception e){ Log.d("CameraPreview", "Error stoping camera preview: " + e.getMessage()); }
  62.      
  63.        
  64.         try {
  65.             //params.setFocusMode( Camera.Parameters.FOCUS_MODE_AUTO ); NAO DA SET
  66.             Camera.Parameters params = mCamera.getParameters( );
  67.             params.setJpegQuality( 70 );
  68.             params.setFlashMode( Camera.Parameters.FLASH_MODE_AUTO );
  69.             params.setSceneMode( Camera.Parameters.SCENE_MODE_AUTO );
  70.             params.set( "orientation", "portrait" );
  71.             params.set( "portrait", 90 );
  72.            
  73.             mCamera.setParameters( params );
  74.             mCamera.setPreviewDisplay(mHolder);
  75.             mCamera.startPreview();
  76.  
  77.         } catch (Exception e){
  78.             Log.d("CameraPreview", "Error starting camera preview: " + e.getMessage());
  79.         }
  80.     }
  81.  
  82.     @Override
  83.     public void onPause(){
  84.         debug.debug("CameraPreview","onPause");
  85.  
  86.         if( mCamera != null ) {
  87.             try {
  88.                 mCamera.stopPreview( );
  89.             }
  90.             catch( Exception e ) {
  91.             }
  92.         }
  93.     }
  94.    
  95.     public void onDrestroy() {
  96.         debug.debug("CameraPreview","onDrestroy");
  97.  
  98.         if( mCamera != null ) {
  99.             try {
  100.                 mCamera.release();
  101.             }
  102.             catch( Exception e ) {
  103.             }
  104.         }
  105.     }
  106.  
  107.     public void onResume() {
  108.         debug.debug("CameraPreview","onResume");
  109.  
  110.         if( mCamera != null ) {
  111.             try {
  112.                 mCamera.startPreview( );
  113.             }
  114.             catch( Exception e ) {
  115.             }
  116.         }
  117.     }
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment