CameraProps
interface CameraProps extends CameraSessionConfiguration, CameraControllerConfigurationConfiguration for a CameraSession.
Extended by
Properties
allowBackgroundAudioPlayback?
optional allowBackgroundAudioPlayback?: booleanIf enabled, the device may play background audio,
possibly from another app (e.g. Apple Music) while
the CameraSession is active.
If disabled (the default), any playing audio will be
stopped while the CameraSession is active.
Note
If allowBackgroundAudioPlayback is true,
background audio may also be captured in Video recordings.
Default
falseInherited from
CameraSessionConfiguration.allowBackgroundAudioPlayback
allowHapticsAndSystemSoundsPlayback?
optional allowHapticsAndSystemSoundsPlayback?: booleanIf enabled, the device may play haptics/vibrations
and system sounds during while the CameraSession
is active.
If disabled (the default), all haptics and system
sounds will be muted while the CameraSession
is active.
Note
If allowHapticsAndSystemSoundsPlayback
is true, haptics or system sounds may also be captured
in Video recordings.
Haptics may also affect stabilization or focus operations.
Default
falseInherited from
CameraSessionConfiguration.allowHapticsAndSystemSoundsPlayback
constraints?
optional constraints?: Constraint[]Constraints (e.g. { fps: 60 }) that the Camera pipeline
will try to match when configuring the CameraSession.
See
CameraSessionConnection.constraints
device
device:
| CameraDevice
| CameraPositionThe CameraDevice to open, or a CameraPosition
(e.g. 'back') to auto-pick a matching device via
getCameraDevice(...).
See
enableDistortionCorrection?
optional enableDistortionCorrection?: booleanIf set to true, the camera pipeline may correct
areas of the image that may appear distorted - for
example the edges of a ultra-wide-angle camera,
at the cost of losing a small amount of field of view.
When enableDistortionCorrection is enabled
and the camera pipeline applies a crop around the edges,
the images will be upscaled to compensate for the artificial
zoom - set enableDistortionCorrection to false
if you want to avoid this overhead.
Throws
If the CameraDevice does not support distortion
correction - see supportsDistortionCorrection.
Default
trueInherited from
CameraControllerConfiguration.enableDistortionCorrection
enableLowLightBoost?
optional enableLowLightBoost?: booleanLow light boost allows the Camera pipeline to automatically extend exposure times (and effectively drop frame rate) to receive more light, if necessary.
Throws
If the CameraDevice does not support low-light-boost -
see supportsLowLightBoost.
Default
falseInherited from
CameraControllerConfiguration.enableLowLightBoost
enableSmoothAutoFocus?
optional enableSmoothAutoFocus?: booleanIf set to true, auto-focus will switch between
focus states much slower and smoother to appear
less intrusive in video recordings.
Throws
If the CameraDevice does not support
smooth auto focus - see supportsSmoothAutoFocus.
Default
falseInherited from
CameraControllerConfiguration.enableSmoothAutoFocus
exposure?
optional exposure?:
| number
| SharedValue<number>Sets the exposureBias value
declaratively.
You can also imperatively set the exposure bias via
setExposureBias(...).
Note
This property can be animated via Reanimated by passing a SharedValue.
Default
0getInitialExposureBias?
optional getInitialExposureBias?: () => number | undefinedA getter for the initial exposure bias to apply when the
CameraController is created. Later, the exposure bias can be
adjusted via CameraController.setExposureBias(...).
See
CameraSessionConnection.initialExposureBias
getInitialZoom?
optional getInitialZoom?: () => number | undefinedA getter for the initial zoom value to apply when the
CameraController is created. Later, the zoom can be
adjusted via CameraController.setZoom(...).
See
CameraSessionConnection.initialZoom
isActive
isActive: booleanStarts the CameraSession when set to true, and stops it
when set back to false.
See
mirrorMode?
optional mirrorMode?: MirrorModeSets whether the CameraOutputs are mirrored along
the vertical axis. 'auto' mirrors
automatically on selfie cameras.
See
CameraOutputConfiguration.mirrorMode
Default
'auto'onConfigured?
optional onConfigured?: () => voidCalled whenever the CameraSession
has been configured with new connections via
configure(...)
and connections to the individual outputs are formed.
This is a good place to check output
capabilities, such as CameraVideoOutput.getSupportedVideoCodecs()
onError?
optional onError?: (error: Error) => voidCalled whenever the CameraSession
has encountered an error.
See
CameraSession.addOnErrorListener
onInterruptionEnded?
optional onInterruptionEnded?: () => voidCalled when a previous interruption
has ended and the CameraSession
is running uninterrupted again.
See
CameraSession.addOnInterruptionEndedListener
onInterruptionStarted?
optional onInterruptionStarted?: (interruption: InterruptionReason) => voidCalled whenever the CameraSession
has encountered an interruption of the given
InterruptionReason.
Interruptions are temporarily.
See
CameraSession.addOnInterruptionStartedListener
onSessionConfigSelected?
optional onSessionConfigSelected?: (config: CameraSessionConfig) => voidCalled once the given constraints have been fully resolved
into a concrete CameraSessionConfig.
See
CameraSessionConnection.onSessionConfigSelected
onStarted?
optional onStarted?: () => voidCalled when the CameraSession
has been started.
See
CameraSession.addOnStartedListener
onStopped?
optional onStopped?: () => voidCalled when the CameraSession
has been stopped.
See
CameraSession.addOnStoppedListener
onSubjectAreaChanged?
optional onSubjectAreaChanged?: () => voidCalled when the subject area substantially changes, e.g. when the user pans away from a scene that was previously in focus.
This is a good point to reset any locked AE/AF/AWB focus states back to continuously auto-focus.
See
CameraController.addSubjectAreaChangedListener
orientationSource?
optional orientationSource?: "custom" | OrientationSourceSet a desired OrientationSource
for automatically applying CameraOrientation
to all outputs, or 'custom' if you
prefer to manually specify CameraOrientation
yourself.
See
CameraOutput.outputOrientation
outputs?
optional outputs?: CameraOutput[]The CameraOutputs the device will stream into.
See
torchMode?
optional torchMode?: TorchModeSets the torchMode value
declaratively.
Default
'off'zoom?
optional zoom?:
| number
| SharedValue<number>Sets the zoom value declaratively.
You can also imperatively set zoom via
setZoom(...).
Note
This property can be animated via Reanimated by passing a SharedValue.
Default
1