Guest User

Untitled

a guest
Aug 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. release Camera from activity
  2. preview = new Preview(this);
  3. addContentView(preview, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
  4.  
  5. class Preview extends SurfaceView implements SurfaceHolder.Callback { // <1>
  6. private static final String TAG = "Preview";
  7.  
  8. SurfaceHolder mHolder; // <2>
  9. public Camera camera; // <3>
  10.  
  11. Preview(Context context) {
  12. super(context);
  13.  
  14. // Install a SurfaceHolder.Callback so we get notified when the
  15. // underlying surface is created and destroyed.
  16. mHolder = getHolder(); // <4>
  17. mHolder.addCallback(this); // <5>
  18. mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); // <6>
  19.  
  20. }
  21.  
  22. // Called once the holder is ready
  23. public void surfaceCreated(SurfaceHolder holder) { // <7>
  24. // The Surface has been created, acquire the camera and tell it where
  25. // to draw.
  26. camera = Camera.open(); // <8>
  27. try {
  28.  
  29. camera.setPreviewDisplay(holder); // <9>
  30.  
  31. //camera.setDisplayOrientation(90);
  32.  
  33. camera.setPreviewCallback(new PreviewCallback() { // <10>
  34. // Called for each frame previewed
  35. public void onPreviewFrame(byte[] data, Camera camera) { // <11>
  36. Log.d(TAG, "onPreviewFrame called at: " + System.currentTimeMillis());
  37. Preview.this.invalidate(); // <12>
  38. }
  39. });
  40. } catch (IOException e) { // <13>
  41. e.printStackTrace();
  42. }
  43. }
  44. // Called when the holder is destroyed
  45. public void surfaceDestroyed(SurfaceHolder holder) { // <14>
  46. camera.stopPreview();
  47. camera = null;
  48. }
  49.  
  50. // Called when holder has changed
  51. public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { // <15>
  52. /* Camera.Parameters parameters = camera.getParameters();
  53. parameters.setPreviewSize(w, h);
  54. camera.setParameters(parameters);*/
  55. camera.startPreview();
  56. }
  57.  
  58. }
Add Comment
Please, Sign In to add comment