1 / 19

Camera API - Android

Camera API - Android. - Rohit Vobbilisetty. What is the Camera API. Capture Photos Capture Videos. Before starting.

alban
Download Presentation

Camera API - Android

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Camera API - Android - RohitVobbilisetty

  2. What is the Camera API • Capture Photos • Capture Videos Camera API - Android

  3. Before starting • Declare the permissions in the Android ManifestCamera Usage:<uses-permission android:name="android.permission.CAMERA" />Camera Features:<uses-feature android:name="android.hardware.camera" />Camera Auto-Focus:<uses-feature android:name="android.hardware.camera.autofocus" />Write to External Storage:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> Camera API - Android

  4. Camera APIOverview Primary API for controlling device cameras. Used to capture pictures and videos. Package: android.hardware.Camera Methods: Camera.open() – Obtain an instance startPreview() – Starts the Camera preview takePicture() – Takes a picture stopPreview() – Stops the Camera preview release() – Releases the camera getParameters() – Zoom, Image Quality, Location Information Camera API - Android

  5. Camera API – Capture Photo • Detect and Access Camera • Create a Preview Class • Build a Preview Layout • Setup Listeners for Capture • Capture and Save Files • Release the Camera Camera API - Android

  6. Camera API – Capture PhotoDetect and Access Camera Check for an existing Camera and obtain reference. Detect if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){ // this device has a camera returntrue; } else { // no camera on this device returnfalse; } Access Use camera.open() to obtain a reference to the Camera. An exception implies Camera is in use or does not exist. Camera c = null; try { c = Camera.open(); // attempt to get a Camera instance } catch (Exception e){ // Camera is not available (in use or does not exist) } Use Camera.getParameters() to obtain the Camera capabilities. Camera API - Android

  7. Camera API – Capture PhotoCreate a Preview Class and Preview Layout Surface View (android.view.SurfaceView) • Provides a dedicated surface • Is Z- ordered, so useful for overlaying buttons over this surface SurfaceHolder.Callback (interface)(android.view.SurfaceHolder.Callback) • Receives information about changes to the surface (SurfaceView). • Methods: surfaceCreated()surfaceChanged() surfaceDestroyed() Camera API - Android

  8. Camera API – Capture PhotoCreate a Preview Class and Preview Layout A Preview Class is a SurfaceView that can display live image data coming directly from the Camera. Create a class that extends SurfaceView and implements Surfaceholder.Callback.. Override the methods surfaceCreated(), surfaceChanged() and surfaceDestroyed() Preview Layout: Relative Layout with a Frame Layout to display the Camera Preview, and a Button which will trigger the capture. Camera API - Android

  9. Camera API – Capture PhotoSetup Listeners for Capture Attach an OnClick Listener to the button. This listener should call takePicture().NOTE: The method takePicture() requires the instance of PictureCallback as an argument. Camera API - Android

  10. Camera API – Capture PhotoCapture and Save Files Create an instance of PictureCallback() and override the method onPictureTaken(). This method includes the logic to save the image to a file. Once the picture is taken, the method onPictureTaken() is called. Camera API - Android

  11. Camera API – Capture PhotoRelease the Camera Release the Camera by calling Camera.release(), once the application does not require it or on application exit. Camera API - Android

  12. Camera API – Capture PhotoOrientation and Rotation The Camera Preview’s Orientation depends on the Orientation and Rotation of the device. Orientation (Portrait OR Landscape) getResources().getConfiguration().orientation Rotation activity.getWindowManager().getDefaultDisplay().getRotation(); Returns: ROTATION_0, ROTATION_90, ROTATION_180, ROTATION_270 Set the Camera Preview Orientation using Camera.setDisplayOrientation(angle). Camera API - Android

  13. Camera API – Capture PhotoOrientation and Rotation Orientation: Landscape Rotation: ROTATION_270 Fix: Set the Camera Preview Orientation using Camera.setDisplayOrientation() If(Orientation=Landscape & Rotation=ROTATION_270){ Camera.setDisplayOrientation(180). } Camera API - Android

  14. Camera API – Capture PhotoDiagram Activity new CameraPreview(Camera) Button Event Handler Device Camera Camera Preview surfaceCreated() surfaceChanged() surfaceDestroyed() LayoutFrameLayout and Button Camera API - Android

  15. Additional Features • Zoom (API level 8) • GPS Data • Video Snapshot (API level 14) • Face Detection (API level 14) Camera API - Android

  16. Demo Camera API - Android

  17. References • Android Developer – Camera APIhttp://developer.android.com/guide/topics/media/camera.html • StackOverflow • Vogella.com – Camera APIhttp://www.vogella.com/articles/AndroidCamera/article.html Camera API - Android

  18. Questions ?? Camera API - Android

  19. Thank You Camera API - Android

More Related