public final class CameraSession

  1. Object
  2. CameraSession

ImplementsAutoCloseable

Active camera session. Obtained from Camera#open(CameraInfo, CameraSessionOptions).

Only one CameraSession may be open at a time; opening a second throws IllegalStateException. Closing the session releases the camera hardware and invalidates any CameraView returned by #createView().

Sessions may be paused (releasing hardware while keeping the session object) and resumed; this is the right pattern when the app temporarily uses the classic com.codename1.capture.Capture API while a session is open, since the OS-level camera device is single-tenant.

Methods

public CameraView createView()Create the live preview component.
public AsyncResource<CapturedPhoto> takePhoto()Capture a still photo with default options.
public AsyncResource<CapturedPhoto> takePhoto(PhotoCaptureOptions opts)Capture a still photo using the given options (size, quality, file path).
public VideoRecording startVideoRecording(String filePath)Begin recording video to the given FileSystemStorage path.
public void setFrameListener(FrameListener l)Install a frame listener.
public void addFrameListener(FrameListener l)Backwards-compatible alias for #setFrameListener(FrameListener).
public void removeFrameListener(FrameListener l)
public void setFlashMode(FlashMode m)Set the flash / torch behavior.
public void setZoom(float ratio)Set the zoom ratio where 1.0 is no zoom and values above 1.0 zoom in.
public void focus(float xNorm, float yNorm)Request a focus operation at the normalized preview coordinate (0.0 top-left, 1.0 bottom-right).
public CameraInfo getInfo()The CameraInfo for the physical camera this session is attached to.
public CameraSessionOptions getOptions()The options the session was opened with.
public void pause()Release the hardware but keep this session object alive.
public void resume()Re-acquire the hardware after #pause().
public void close()Release the session.
public boolean isClosed()True once #close() has been called on this session.

Inherited methods

Method details

createView

public CameraView createView()
Create the live preview component. Each session owns one view; subsequent calls return the same instance.

takePhoto

public AsyncResource<CapturedPhoto> takePhoto()
Capture a still photo with default options.

takePhoto

public AsyncResource<CapturedPhoto> takePhoto(PhotoCaptureOptions opts)
Capture a still photo using the given options (size, quality, file path). The returned AsyncResource resolves on the EDT with the captured photo, or fires its error callback if capture fails.

startVideoRecording

public VideoRecording startVideoRecording(String filePath)
Begin recording video to the given FileSystemStorage path. The returned VideoRecording is the handle used to stop the recording.

setFrameListener

public void setFrameListener(FrameListener l)
Install a frame listener. At most one frame listener may be active per session; installing a second replaces the first. Pass null to remove.

addFrameListener

public void addFrameListener(FrameListener l)
Backwards-compatible alias for #setFrameListener(FrameListener).

removeFrameListener

public void removeFrameListener(FrameListener l)

setFlashMode

public void setFlashMode(FlashMode m)
Set the flash / torch behavior. No-op on cameras whose CameraInfo#hasFlash() is false.

setZoom

public void setZoom(float ratio)
Set the zoom ratio where 1.0 is no zoom and values above 1.0 zoom in. The platform implementation clamps to the supported range.

focus

public void focus(float xNorm, float yNorm)
Request a focus operation at the normalized preview coordinate (0.0 top-left, 1.0 bottom-right).

getInfo

public CameraInfo getInfo()
The CameraInfo for the physical camera this session is attached to.

getOptions

public CameraSessionOptions getOptions()
The options the session was opened with. Read-only snapshot; mutating it after Camera#open(CameraInfo, CameraSessionOptions) has no effect.

pause

public void pause()
Release the hardware but keep this session object alive. Pair with #resume().

resume

public void resume()
Re-acquire the hardware after #pause(). No-op if the session is already running.

close

public void close()
Release the session. Idempotent.

isClosed

public boolean isClosed()
True once #close() has been called on this session.