Camera Settings

Defined in package com.scandit.datacapture.core.source

CameraPosition

Added in version 6.0.0

WORLD_FACING

Added in version 6.0.0

The camera is attached at the back of the device and is facing away from the user.

USER_FACING

Added in version 6.0.0

The camera is attached on the front of the device and facing towards the user.

UNSPECIFIED

Added in version 6.0.0

The camera position is unspecified.

VideoResolution

Added in version 6.0.0

HD

Added in version 6.0.0

Resolution is 1280x720.

FULL_HD

Added in version 6.0.0

Resolution is 1920x1080.

UHD4K

Added in version 6.0.0

Resolution is 3840x2160. Please note: Usage of this resolution is not part of every license. If you encounter issues, please contact us at support@scandit.com.

Requires camera API 2. Devices that are known to support API 2 well will automatically switch to use it when this resolution is set. Other devices will fall back to the closest resolution available. To check the resolution of the actual frame it’s easiest to listen to whichever capture mode you are using (for example through BarcodeCaptureListener for barcode capture) and query the returned FrameData’s ImageBuffer.width.

Note

To make use of the automatic switch to API 2, make sure that you instantiate the camera directly with the settings instead of using Camera.applySettings().

AUTO

Added in version 6.0.0

In contrast to FULL_HD, and HD, AUTO will select the resolution based on hardware capabilities and/or scan-performance considerations. The chosen resolution may change in future versions of the software.

FocusGestureStrategy

Added in version 6.6.0

Enumeration of possible focus gesture strategies to use.

NONE

Added in version 6.6.0

No effect when performing a focus gesture.

MANUAL

Added in version 6.6.0

Focus on PoI and only change with next focus gesture.

MANUAL_UNTIL_CAPTURE

Added in version 6.6.0

Focus on PoI and reset to previous focus strategy on capture.

AUTO_ON_LOCATION

Added in version 6.7.0

Continuously focus on the location of the gesture and only change with next focus gesture.

CameraSettings
class CameraSettings

Added in version 6.0.0

Holds camera-specific settings such as preferred resolution, maximum frame rate etc. The defaults are chosen such that they work for a wide variety of use cases. You may apply custom settings to further optimize scan performance for your particular use case. There is typically no need to customize the camera settings beyond changing the preferred resolution.

For best performance use the camera settings returned by the capture mode you are using, e.g. BarcodeCapture.createRecommendedCameraSettings(), or BarcodeTracking.createRecommendedCameraSettings() etc.

CameraSettings()
CameraSettings()

Added in version 6.0.0

Creates new default camera settings. zoomFactor is set to 1 and preferredResolution is set to VideoResolution.AUTO.

Holds camera related settings such as preview resolution and maximum frame rate to use.

preferredResolution
VideoResolution getPreferredResolution()
void setPreferredResolution(VideoResolution value)

Added in version 6.0.0

The preferred resolution to use for the camera. The camera will use the resolution that is closests to the resolution preference. For example, if only lower resolutions than the preferred resolution are available, the highest available resolution will be used.

The resolution chosen by the camera only takes the preferredResolution into account, it does not consider the resolution limit of your license key. When the device selects a resolution that is larger than what you have licensed, the data capture context will report a license status error.

The default value is VideoResolution.AUTO.

maxFrameRate
float getMaxFrameRate()
void setMaxFrameRate(float value)

Added in version 6.0.0

The maximum frame rate to use for the camera. If the value is higher than the maximum available frame rate of the device, it will be set to the device’s maximum.

The default value is 30 Hz.

Deprecated since version 6.7.0: The frame rate is optimized internally based on the used device. Setting max frame rate may have no effect due to camera or device-specific restrictions.

zoomFactor
float getZoomFactor()
void setZoomFactor(float value)

Added in version 6.0.0

The zoom factor to use for the camera. This value is a multiplier, a value of 1.0 means no zoom, while a value of 2.0 doubles the size of the image, but halves the field of view.

Values less than 1.0 are treated as 1.0. Values greater than the maximum available zoom factor are clamped to the maximum accepted value.

The default zoom factor is 1.0.

shouldPreferSmoothAutoFocus
boolean getShouldPreferSmoothAutoFocus()
void setShouldPreferSmoothAutoFocus(boolean value)

Added in version 6.0.0

Whether to prefer smooth auto-focus. The default settings have this turned off. Enable it to switch to a smoother (but potentially less reliable) auto-focus strategy. For some devices, this property has no effect.

focusGestureStrategy
FocusGestureStrategy getFocusGestureStrategy()
void setFocusGestureStrategy(FocusGestureStrategy value)

Added in version 6.6.0

The focus gesture strategy to use.

zoomGestureZoomFactor
float getZoomGestureZoomFactor()
void setZoomGestureZoomFactor(float value)

Added in version 6.6.0

The zoom factor to move to when the zoom in gesture was performed. This value is a multiplier, a value of 1.0 means no zoom, while a value of 2.0 doubles the size of the image, but halves the field of view. See also zoomFactor.

The default zoom factor for the zoom in gesture is 2.0.

setProperty(name, value)
void setProperty(@NonNull String name,
        @NonNull Object value)

Added in version 6.0.0

Set camera property to the provided value. Use this method to set properties that are not yet part of a stable API. Properties set through this method may or may not be used or change in a future release.

getProperty(name)
@Nullable Object getProperty(@NonNull String name)

Added in version 6.0.0

Retrieves the value of a previously set camera property. In case the property does not exist, null is returned.