# Package com.codename1.camera

package com.codename1.camera

Session based camera API for live preview, photo capture and video recording.

A `CameraSession` is configured through `CameraSessionOptions` (selecting the `CameraFacing`, `FlashMode`, `FrameFormat` and so on) and rendered through a `CameraView` using a `ScaleType`. Individual `CameraFrame`s can be observed with a `FrameListener`, still images are returned as a `CapturedPhoto` according to `PhotoCaptureOptions`, and movies are produced as a `VideoRecording`. `CameraInfo` describes the devices available on the platform.

- Class
  Description
  Camera
  Entry point for the low-level cross-platform camera API.
  CameraFacing
  Direction a camera faces relative to the device screen.
  CameraFrame
  A single frame delivered to a `FrameListener`.
  CameraInfo
  Describes a physical camera available on the device.
  CameraSession
  Active camera session.
  CameraSessionOptions
  Configuration for a `CameraSession`.
  CameraView
  Component that renders a live camera preview.
  CapturedPhoto
  Result of a still-photo capture via `CameraSession#takePhoto()`.
  FlashMode
  Flash behavior for still capture or continuous illumination.
  FrameFormat
  Pixel format requested for `CameraFrame` data delivered to a `FrameListener`.
  FrameListener
  Receives camera frames from an active `CameraSession`.
  PhotoCaptureOptions
  Per-capture options for `CameraSession#takePhoto(PhotoCaptureOptions)`.
  ScaleType
  How the live preview from a `CameraView` is fitted inside its component bounds.
  VideoRecording
  Handle for an in-progress video recording started via `CameraSession#startVideoRecording(String)`.