This class contains the media manager and playback manager, which manage the camera's media content. It provides methods to change camera settings and perform camera actions. This object is available from the Aircraft or HandHeld object, which is a subclass of BaseProduct.
The Callback object to set as the callback. <br> Callback implements an onUpdate method.</br> The CameraSDCardState object contains information about the SD card inserted into the aircraft's camera.
Sets the callback for updated exposure parameters. The callback's onUpdate method will be called each time the exposure parameters (ISO, Exposure Compensation, Shutter Speed and Aperture) are updated. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the camera's new generated media file callback. Note:Because the firmware cannot return some information correctly, so the interface is deprecated, please use setNewGeneratedMediaFileInfoCallback insteaded.
The Callback object to set as the callback. The callback's method onNewFile has a MediaFile object as it's parameter from which information about the media type, index, file size and the created time can be obtained.
The Callback object to set as the callback. The callback's method onNewFileInfo has a MediaFileInfo object as it's parameter from which information about the media type, index, file size, created time and stream source can be obtained.
Sets the thermal camera's temperature update callback. Callback is used when there is a new temperature value available for the set spot metering target point. Supported only by thermal imaging cameras with installed firmware version of 1.20.0.00 or higher. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
The Callback object to set as the callback. <br> Callback implements an onUpdate method.</br> The Float object contains information about the updated temperature value.
Sets the thermal camera's temperature aggregation update callback. Callback will be called when there are new min, max, and average values available for the set spot metering area. Supported only by thermal imaging cameras with installed firmware version of 1.20.0.00 or higher. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the thermal camera's external scene settings update callback. Callback will get called when updated external scene settings are available. Supported only by thermal imaging cameras with installed firmware version of 1.20.0.00 or higher, Only supported by XT2.
Called when the camera's storage state has been updated. Use StorageState's getStorageLocation to determine if the updated state is for SD card or the internal storage.
Sets the camera video stream source callback. When the camera video stream source been changed, the interface of Callback would be triggered. It is only supported by Zenmuse H20 series.
voidsetFlatMode(@NonNull FlatCameraMode mode, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the camera's flat mode to take photo, record video, or enter intelligent camera modes. Please note that you cannot change the mode when a certain task is executing. This is available only when isFlatCameraModeSupported returns true.
voidenterPlayback(@Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Enter playback mode, in which users can preview photos or videos, begin the video playback, and download media to the mobile device. This is available only when isFlatCameraModeSupported returns true. Please note that only after exiting playback mode, last flat camera mode will be recovered.
Sets the camera's work mode to taking pictures, video, playback or download. Please note that you cannot change the mode when a certain task is executing, such as taking photo(s), recording video, or downloading and saving files. Also supported by thermal imaging camera.
Camera starts to take photo with one of the camera capture modes (shoot photo modes).Also,
Precondition: 1. Camera must be in ShootPhoto mode. Check the enum named CameraShootPhotoMode in DJICameraSettingsDef to find all possible camera capture modes. For thermal imaging camera, Single photo can be taken while recording video. 2. The SD card state should be checked before this method is used to ensure sufficient space exists.
Post condition: If the capture mode is either Burst or Interval, calling stopShootPhoto will be required for the camera to stop taking photos.
Input Parameters:
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Precondition: 1. startShootPhoto has been invoked and the shoot mode is either Interval or Time-lapse. 2. If the capture mode is set to Single, the camera will automatically stop taking the photo once the individual photo is taken.
Input Parameters:
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Flat camera mode can be used to set the mode to camera directly. The benefit is no need to set the camera mode to shoot photo mode or the Record video first. Please use setFlatMode to set the flat mode. This is available only when isFlatCameraModeSupported returns true.
Enum Members:
SLOW_MOTION
Sets the camera to slow motion video recording mode. Only supported by Mavic Air 2, DJI Air 2S.
VIDEO_NORMAL
Sets the camera to record normal videos.
PHOTO_TIME_LAPSE
Sets the camera to take a picture (or multiple pictures) continuously at a set time interval. The camera will merge the photo sequence and the output is a video. The minimum interval for Video only format is 1 s. The minimum interval for Video+Photo format is 2 s.
PHOTO_AEB
Automatic Exposure Bracketing (AEB) capture. In this mode you can quickly take multiple shots (the default is 3) at different exposures without having to manually change any settings between frames.
PHOTO_SINGLE
Sets the camera to take a single photo.
PHOTO_BURST
Set the camera to take multiple photos at once.
PHOTO_HDR
Sets the camera to take photos in HDR mode.
VIDEO_HDR
Sets the camera to HDR video recording mode. Only supported by Mavic Air 2.
PHOTO_INTERVAL
Sets the camera to take a picture (or multiple pictures) continuously at a set time interval. The minimum interval for JPEG format of any quality is 2s.
PHOTO_HYPER_LIGHT
Sets the camera to take photos in HyperLight mode. It is a setting for low-light environment to enhance the photo quality while reducing noise significantly.
PHOTO_PANORAMA
Sets the camera to take photos in panorama mode. the aircraft takes a series of photos with different gimbal and aircraft heading positions. The photos can be stitched with a third-party library.
PHOTO_EHDR
Sets the camera to take an enhanced-HDR photo. It blends a sequence of photos for ghost-free high dynamic range photos.
PHOTO_HIGH_RESOLUTION
Sets the camera to the high resolution mode. In this mode, the camera will take photos with a resolution of 48MP. Only supported by Mavic Air 2.
PHOTO_SUPER_RESOLUTION
Sets the camera to the super resolution mode. In this mode, drag to select an area in the wide camera view, the gimbal will move automatically and take a series of 20MP photos of the selected area at the current zoom ratio by the zoom camera. All photos will be saved in the same sub-folder in the microSD card, and an HTML file will be created. To view the wide and close-up images, open the HTML file using a browser on a PC. If you want to view the close-up images in app, please refer to the sample implementation. Using setSuperResolutionCaptureArea to set the super resolution capture area. Using setSuperResolutionInfoCallback to listen the super resolution state. Only supported by Matrice 300 RTK.
PHOTO_SMART
Sets the camera to the smart mode. In this mode, when shooting photo, the camera can automatically recognize the scene, and use the built-in algorithm to optimize the scene. Only supported by Mavic Air 2, DJI Air 2S.
INTERNAL_AI_SPOT_CHECKING
Internal work mode during smart inspection and it cannot be set manually. This mode might last for less than 10 seconds, during when the user cannot take photo, record a video, enter media playback mode, set spot metering target of ZOOM lens type, and set zoom focus length with any lens type. Only AUTO can be set with ZOOM lens type. In this mode, remote controller also cannot be used to take photo, record video and adjust focus. It's only supported by Matrice 300 RTK.
Camera will shoot 3 rows of 3 photos. Each photo in a row will be taken with a different aircraft heading. Each row of photos is taken with a different gimbal pitch.
PANORAMA_MODE_3X1
Camera will shoot 3 photos with the same aircraft heading and different gimbal pitch.
PANORAMA_MODE_SPHERE
Camera will shoot 8 rows of 3 photos and 1 extra photo (facing downward). Each photo in a row will be taken with a different aircraft heading. Each row of photos is taken with a different gimbal pitch.
PANORAMA_MODE_180
Camera will shoot 3 photos with the same gimbal pitch (facing forward) and different aircraft headings.
PANORAMA_MODE_SUPER_RESOLUTION
The camera will capture and patch nine photos resulting in a 48-megapixel super resolution photo. It is supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.
The enumeration represents which lens the camera stream comes from. The camera video stream will been used to transfer to image transmission to display and determine which lens were taken photo or recording. It is only supported by Zenmuse H20 Series Camera.
Enum Members:
DEFAULT
The default video stream channel.
WIDE
Wide stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
ZOOM
Zoom stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
INFRARED_THERMAL
Infrared thermal stream. Only supported by Zenmuse H20T and H20N.and Mavic 2 Enterprise Advanced.
Media Manager is used for interaction when camera is in MEDIA_DOWNLOAD. The user can only access the manager when isMediaDownloadModeSupported returns true. @return The MediaManager object if the aircraft supports media list feature. Otherwise, returns null.
Gets the playback manager object. Playback Manager is used for interaction when camera is in PLAYBACK. User can only access to the manager when isPlaybackSupported returns true.
Sets the camera's exposure mode. Check ExposureMode to view all possible camera exposure modes. Please note that in different exposure mode, it will have different values for the same setting. For Mavic 2 Enterprise Dual, the exposure mode is always PROGRAM. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the camera's ISO value. See ISO to view all possible ISO settings for the camera. For the X5, X5R, Phantom 4 Pro camera, X4S and X5S, the ISO value can be set for all modes. For the other cameras, the ISO value can only be set when the camera exposure mode is in Manual mode. See the setExposureMode method for how to set exposure mode. For Mavic 2 Enterprise Dual, the ISO value is always AUTO. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull ISO iso
The ISO value to set the camera to use. Please check the enum CameraISOe in DJICameraSettingsDef to find all possible ISO values that the camera can be set to.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Sets the camera shutter speed. To see all available shutterSpeed value settings, see ShutterSpeed. The shutter speed should not be set slower than the video frame rate when the camera's mode is RECORD_VIDEO. For example, if the video frame rate is 30fps, the shutterSpeed must be <= 1/30. Precondition: The shutter speed can be set only when the camera exposure mode is Shutter mode or Manual mode. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
The ISO value to set the camera to use. Please check the enum CameraISOe in DJICameraSettingsDef to find all possible ISO values that the camera can be set to.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets whether the camera supports an adjustable aperture. Currently adjustable aperture is supported only by the X5, X5R, X4S, X5S cameras and Mavic 2 Pro. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the aperture value. This feature is available only when isAdjustableApertureSupported returns true. Precondition: The exposure mode ExposureMode must be in MANUAL or APERTURE_PRIORITY. Supported only by the X5, X5R, X4S, X5S camera and Mavic 2 Pro. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Gets the lens aperture. This feature is available only when isAdjustableApertureSupported returns true. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Aperture> callback
The execution callback with the returned value(s).
Sets the camera's exposure metering. See MeteringMode to view all possible exposure metering settings for the camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the spot metering area index. The camera image is divided into 96 spots defined by 12 columns and 8 rows. The row index range is [0,7], where the values increase top to bottom across the image. The column index range is [0, 11], where the values increase left to right. In order to make the method work, The camera exposure mode should be Program, Shutter or Aperture, the exposure metering mode must be SPOT, and setAELock must be false. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull Point spotIndex
Spot metering point coordinate (x, y). x is column index to be set. The value should falls in [0, 11], where the values increase left to right. y is row index to be set. The value should falls in [0, 7], where the values increase top to bottom across the image.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the spot metering area row index and column index. In order to make the method work, The camera exposure mode should be PROGRAM, SHUTTER_PRIORITY or APERTURE_PRIORITY, the exposure metering mode must be SPOT, and getAELock must be false. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Point> callback
The execution callback with the returned value(s).
Sets the camera's exposure compensation. See ExposureCompensation to view all possible exposure compensations to which the camera can be set. In order to use this function, set the camera exposure mode to shutter, program or aperture. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Locks or unlocks the camera's AE (auto exposure). Post condition: If the AE lock is enabled, the spot metering area cannot be set. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
boolean isLocked
true if the camera AE is locked, false if it is unlocked.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Enables/disables auto-unlocking of AE lock after shooting a photo. If it is enabled, the Auto Exposure will unlock after each shot. If disabled, Auto Exposure will change when calling setAELock. It is only supported X4S, X5S and Phantom 4 Pro cameras. For the other products, auto-unlocking is always enabled. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
boolean enabled
true if the camera AE will automatically unlock.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether auto-unlocking of AE lock is enabled. It is only supported by X4S, X5S and Phantom 4 Pro cameras. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Boolean> callback
The execution callback with the returned value(s).
Sets the camera's white balance (color temperature). When white balance is CUSTOM, the colorTemperature argument is used. For all other values, the colorTemperature argument is ignored. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
true if the changeable lens is supported by the camera. Currently a changeable lens is supported only by the X5, X5R and X5S cameras. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Gets details of the installed lens. Supported only by the X5, X5R, X5S and X7 cameras. This is available only when isInterchangeableLensSupported returns true. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<String> callback
The execution callback with the returned value(s).
Check if the current device supports digital zoom scale. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Adjusts the digital zoom. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and XT 2 camera, DJI Mini 2. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@FloatRange(from = 1.0, to = 2.0) float factor
The valid range is from 1.0 to 4.0.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets current digital zoom. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and Z30 camera. Note Z30 cannot set the digital zoom scale, but will use digital zoom when using startContinuousOpticalZoom and the optical zoom has reached its limit. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Float> callback
The execution callback with the returned value(s).
Check if camera supports optical zoom. It is only supported by X5, X5R and X5S camera with the Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ lens, Z3 camera, Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Gets the specification of the zoom lens. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<OpticalZoomSpec> callback
The execution callback with the returned value(s).
Sets focal length of the zoom lens. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, X5S camera with Panasonic Lumix 14-42mm/3.5-5.6 HD or Olympus M.Zuiko 9-18mm/4.0-5.6, Z3 camera, Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Gets zoom lens focal length in units of 0.1mm. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Gets current optical zoom factor with range [1, 30]. It is only supported Z30 camera. The Z30 zoom factor can be changed with setOpticalZoomFocalLength and startContinuousOpticalZoom. The zoom factor is then calculated and given through this method. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Float> callback
The execution callback with the returned value(s).
Start changing the focal length of the lens in specified direction with specified speed. Focal length change (zooming) will halt when maximum or minimum focal lengths are reached, or stopContinuousOpticalZoom is called. It is only supported by X5, X5R and X5S camera on Osmo with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera. For Zenmuse H20 Series, please use class Lens.
Called to stop focal length changing, when it currently is from calling startContinuousOpticalZoom. It is only supported by X5, X5R and X5S camera on Osmo with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether the current camera supports TapZoom feature. TapZoom is only supported by Z30 camera. @return true if the camera supports TapZoom. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return true. User can only access the parameters through the lens object. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Enable/disable TapZoom. tapZoomAtTarget can only be called when TapZoom is enabled. It is only supported Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
boolean enabled
The execution callback with the returned execution result.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether TapZoom is enabled. It is only supported by Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Boolean> callback
The execution callback with the returned value(s).
TapZoom uses a multiplier to change the zoom scale when called. The final zoom scale for a TapZoom will be: Current Zoom Scale x Multiplier. The multiplier range is [1,5]. A multiplier of 1 will not change the zoom. When the multiplier is 1, the zoom scale will not change during TapZoom. It is only supported by Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@IntRange(from = 1, to = 5) int multiplier
Multiplier of TapZoom.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
TapZoom at the target. It can be called only when TapZoom is enabled. When a new target is set, the gimbal will rotate and locate the target in the center of the screen. At the same time, the camera will zoom by multiplying the TapZoom multiplier. It is only supported Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull PointF target
The CameraTapZoomTargetPoint to zoom. The range for x and y is from 0.0 to 1.0. The point [0.0, 0.0] represents the top-left corner of the screen.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Check if camera supports hybrid zoom. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
voidgetHybridZoomSpec(@NonNull final CompletionCallbackWith<HybridZoomSpec> callback)
Package:
dji.sdk.camera
Description:
Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Gets the specification of the zoom lens. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<HybridZoomSpec> callback
The execution callback with the returned value(s).
voidsetHybridZoomFocalLength(int focalLength, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Sets focal length of the zoom lens. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
voidgetHybridZoomFocalLength(@NonNull final CompletionCallbackWith<Integer> callback)
Package:
dji.sdk.camera
Description:
Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Gets zoom lens focal length in units of 0.1mm. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
voidsetTapZoomStateCallback(@Nullable final TapZoomStateCallback callback)
Package:
dji.sdk.camera
Description:
Sets the tap zoom state callback. The callback's onUpdate method will be called when the camera's zoom state is updated. It is only supported by Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@Nullable final TapZoomStateCallback callback
Completion callback that receives the execution result.
Determines whether the camera supports an adjustable focal point. Currently, the adjustable focal point is supported by the X5, X5R, Z3, Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the lens focus mode. See FocusMode. It is available only when isAdjustableFocalPointSupported returns true. Supported by the X5, X5R, Z3 cameras (Z3 camera can only support AUTO), the Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Gets the lens focus mode. Please check FocusMode. It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<FocusMode> callback
The execution callback with the returned value(s).
Sets the lens focus target point. When the focus mode is auto, the target point is the focal point. When the focus mode is manual, the target point is the zoom out area if the focus assistant is enabled for the manual mode. It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera, Phantom 4 Pro camera, Mavic 2 Pro, Mavic 2 Zoom Camera, Mavic 2 Enterprise Camera, X4S and X5S. camera, X4S and X5S. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull PointF focusTarget
The focus target to set. The range for x and y is from 0.0 to 1.0. The point [0.0, 0.0] represents the top-left angle of the screen.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the lens focus target point. It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera and Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<PointF> callback
The execution callback with the returned value(s).
Used to enable/disable the lens focus assistant. When the focus assistant is enabled, the camera live view will digitally zoom into the focus target area so the user can see the quality of focus. Focus assistant can be used for both manual focus (MF) and auto focus (AF). It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3, Phantom 4 Pro camera, X4S and X5S. Because Z3 only supports AF mode, isEnabledMF will be ignored.
Determines whether the lens focus assistant is enabled. When the focus assistant is enabled, the camera live view will digitally zoom into the focus target area so the user can see the quality of focus. Focus assistant can be used for both manual focus (MF) and auto focus (AF). It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro, X4s and X5S. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWithTwoParam<Boolean, Boolean> callback
The execution callback with the returned value(s).
Gets the lens focusing ring value's max value. It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Set the focal distance by simulating the focus ring adjustment. Value can have a range of 0, getFocusRingValueUpperBound], which represents infinity and the closest possible focal distance. It is available only when isAdjustableFocalPointSupported returns true. For some lenses, the minimum focus ring value is larger than 0. For example the minimum of DJI MFT 15mm f/1.7 ASPH is 270. To retrieve the minimum value, perform the following steps: - Call setFocusMode with AUTO. - Call setFocusTarget with the furthest target (>30m). - Call getFocusRingValue to get the current focus ring value. This is the minimum value. The maximum value can be retrieved using getFocusRingValueUpperBound. Supported only by X5, X5R, Z3 cameras, Phantom 4 Pro, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@IntRange(from = 0) int value
Value to adjust focus ring to. The minimum value is 0, the maximum value depends on the installed lens. Please use method getFocusRingValueUpperBound to ensure the input argument is valid.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the lens focus ring value. It is available only when isAdjustableFocalPointSupported returns true. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera, Mavic 2 Enterprise Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Enable or disable the link zoom function. After enabling the link zoom function, call setThermalDigitalZoomFactor to achieve synchronous zooming of the infrared lens and the zoom lens. In the split-screen mode PIP, the user can compare the images of the infrared lens and the zoom lens more efficiently.
Supported by Zenmuse H20 Series.
Sets the camera's aspect ratio for photos. See PhotoAspectRatio to view all possible ratios. Not supported by Z30 camera as the aspect ratio of Z30 is always RATIO_16_9. Not supported by XTS camera as the aspect ratio of XTS is always RATIO_4_3. For Zenmuse H20 and Zenmuse H20T, please use class Lens.
Sets the camera's photo file format. See PhotoFileFormat to view all possible photo formats to which the camera can be set. Also supported by thermal imaging camera. Not supported by Z30 camera and Mavic 2 Enterprise Dual as the photo file format for Z30 is always JPEG. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Sets the burst shoot count for the camera when the user wants to use that feature. Check PhotoBurstCount to view all possible burst count values to which the camera can be set.
The number of photos to take in one Burst shot. Please check the enum PhotoBurstCount to find all possible burst count values the camera can be set to.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Sets the RAW image burst shoot count for the camera when the user wants to use that feature. See PhotoBurstCount to view all possible burst count values to which the camera can be set. It is only supported Inspire 2.
Sets the interval shoot parameters. The camera will capture a photo, wait a specified interval of time, take another photo, and continue in this manner until it has taken the required number of photos. Also supported by thermal imaging camera.
Sets the TimeLapse parameters, including interval, duration and file format when saving. Precondition: Camera should be in TIME_LAPSE mode of ShootPhotoMode.
The time between image captures. An integer falls in the range, [10, 1000]. <br>The unit is 100ms. Please note that when the format is JPEG+Video,<br> the minimum interval is 20(2 seconds).
@Nullable final CompletionCallback callback
The execution block with the returned execution result.
Gets the TimeLapse parameters including interval, duration and file format when saving. Precondition: The camera must be in TIME_LAPSE mode of ShootPhotoMode.
Sets the panorama mode. It is used when setShootPhotoMode is called with PANORAMA. It is supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.
voidsetPanoOriginalPhotoSettings(@NonNull OriginalPhotoSettings settings, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Change the original image configuration when shooting panorama photos. CAUTION: enabling this may consume 500 MB in the SD card or the internal storage for each panorama. It is supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual. For Mavic Air, getFormat is not used and it will ignore the value.
voidgetPanoOriginalPhotoSettings( @NonNull final CompletionCallbackWith<OriginalPhotoSettings> callback)
Package:
dji.sdk.camera
Description:
Gets the configuration, which determines the behavior for the original images when shooting panorama photos. CAUTION: If this is enabled, it may consume 500 MB in the SD card or the internal storage for each panorama. It is supported by Mavic Air and Mavic 2. However, Mavic Air cannot change the format to save the original images. getFormat will be ignored by Mavic Air.
Sets the camera's video resolution and frame rate. @warning The supported resolutions and frame rates for the two different analog television standards PAL and NTSC are below:
Sets the camera's analog video standard. Setting the video standard to PAL or NTSC will limit the available resolutions and frame rates to those compatible with the chosen video standard.
Enables recording position, time and camera information into a video caption file (.srt) saved on the SD card. The information is updated at 1Hz. Currently the .srt file can only be downloaded directly from the SD card.
Input Parameters:
boolean enabled
true to enable video caption.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Enables/disables the recording of RAW video. It is supported by X5S. User can use the other SSD interfaces only when it is enabled. For X5R, RAW recording is always enabled if there is SSD inserted.
Input Parameters:
boolean enabled
true to enable the RAW video recording.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set Raw Video Resolution and Frame Rate of the SSD. Note, only raw video is saved to the SSD. Compressed video, compressed pictures and raw pictures are all saved to the SD Card. During video capture, Raw video and compressed video are saved simultaneously to the SSD and SD Card respectively. @warning The supported resolutions and frame rates for SSD Raw Videos are shown below:
For X5S, the frame rate of SSD has to be the same as the video to be stored in SD card, so frameRate is ignored. The possible resolutions are determined by SD card video's frame rate and the SSD video license (CameraSSDVideoLicense) being used. The supported resolutions in the current configuration can be queried by using SSDVideoResolutionRange in Capabilities.
Sets the camera color for video that will be stored in SSD. It is only applied when the selected license key is either LicenseKeyTypeProRes422HQ or LicenseKeyTypeProRes4444XQ. This is the legacy version of SSD Color and it is only supported by Inspire 2 with firmware package versions (getFirmwarePackageVersion) lower than 01.0.0240. For newer firmware package versions, use setSSDColor instead.
Gets the camera color for video that will store in SSD. This is the legacy version of SSD Color and it is only supported by Inspire 2 with firmware package versions (getFirmwarePackageVersion) lower than 01.0.0240. For newer firmware package versions, use getSSDColor instead.
Input Parameters:
@NonNull final CompletionCallbackWith<SSDLegacyColor> callback
The execution callback with the returned value(s).
voidgetSSDColor(@NonNull final CompletionCallbackWith<SettingsDefinitions.SSDColor> callback)
Package:
dji.sdk.camera
Description:
Gets the color for videos that will be stored in SSD. It is only supported Inspire 2 with the firmware package version (getFirmwarePackageVersion) 01.0.0240 or later. For older firmware package versions, use getSSDLegacyColor instead.
Gets purchased license key(s). An Inspire 2 License Key activates the usage permission of CinemaDNG or Apple ProRes inside CineCore 2.0. User can purchase a license key on DJI's website. It is supported by Inspire 2. the digital filter for video that will store in SSD. It is only supported Inspire 2.
voidsetWatermarkSettings(WatermarkSettings config, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the watermark configuration. Enables this to add timestamp and location stamp to the newly generated photos or videos. It is only supported by Mavic 2 Enterprise series. For Mavic 2 Enterprise Dual, the watermark is only applied to photos and videos generated by the visual camera.
voidgetWatermarkSettings(@NonNull final CompletionCallbackWith<WatermarkSettings> callback)
Package:
dji.sdk.camera
Description:
Gets the watermark settings. If it is enabled, timestamp and location stamp will be added to the newly generated photos or videos. It is only supported by Mavic 2 Enterprise series. For Mavic 2 Enterprise Dual, the watermark is only applied to photos and videos generated by the visual camera.
voidsetCustomExpandDirectoryName(@NonNull String name, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Custom expand directory name settings. After calling this interface, the newly generated media files (videos or photos) will be stored in the new folder, this new folder's name will be appended by your custom directory name. For example, the default folder name is "DJI_202001012359_01", you could append "Mission1" after it, so the new folder's name will be "DJI_202001012359_01_Mission1". In one flight, you can set multiple expand directory names to create multiple custom folders. Only Supported by Zenmuse P1, Zenmuse L1, Zenmuse H20 Series.
Input Parameters:
@NonNull String name
Custom directory name to set.
@Nullable final CompletionCallback callback
The completion callback that receives the execution result.
voidsetCustomExpandFileName(@NonNull String name, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Custom expand file name settings. By calling this interface, the name of next media file (video or photo) which would be stored in camera will be appended by the custom file name you set. For example, the default photo name is "DJI_2020012091415_999_WIDE.JPG", you could append "Waypoint1" after the default photo name, so the new photo's name will be "DJI_2020012091415_999_WIDE_Waypoint1.JPG", This action will only take effect once. If you want to have the same name for all media files in one flight, you need to set this action before taking each photo. Only Supported by Zenmmuse P1, Zenmuse H20 Series.
Input Parameters:
@NonNull String name
Custom file name to set.
@Nullable final CompletionCallback callback
The completion callback that receives the execution result.
Determines whether the SSD is supported by the camera. Currently, the SSD is supported only by X5R, X4S and X5S camera. @return true if SSD is supported, otherwise false.
voidsetLaserEnabled(boolean enabled, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the laser enabled. Laser sensor turns on ranging function. Set true to enable the laser distance sensor with measuring ranges to natural object. The laser sensor must be at least 3m from the target point. It is only supported for Zenmuse H20 series.
Sets the camera's anti-flicker frequency for video recording. Precondition: The exposure mode must be Program. Note: for the Z30 camera, changing anti-flicker will reboot the camera before the setting takes effect. It is not supported by Zenmuse H20 Series.
voidsetIRFilterEnabled(finalboolean enabled, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Enables/disables the IR filter (infared filter). Disabling the IR filter can enhance the image in low light environments. Enabling the IR filter can reduce the color distortion caused by the infared light. It is only supported by Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
final boolean enabled
true to enable IR-Cut filter.
@Nullable final CompletionCallback callback
The execution callback that receives the setter result.
voidgetIRFilterEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
Package:
dji.sdk.camera
Description:
Determines whether IR filter (infared filter) is enabled. Disabling the IR filter can enhance the image in low light environments. Enabling the IR filter can reduce the color distortion caused by the infared light. It is only supported by Z30 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Boolean> callback
The execution callback with the returned value(s).
Sets the camera's color. The default value is NONE. For a list of all possible camera colors, see CameraColor. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Enables vision stabilization for Z30 camera on M200 series. The vision system in the M200 series of aircraft can be used to compensate for any drift in the gimbal by analyzing the live view when there is no gimbal movement. Drift in the gimbal will be most noticeable at higher zoom factors. It is only supported Z30 on M200 series.
Custom information can be stored in media file's XMP meta data. The custom information is written to the media file automatically after the media file is created. This method defines the information to write. The same information will be written to all media files until the information is changed again by this method. Custom information written to each file can be retrieved through fetchCustomInformation or from the image itself when processed on a separate system. It is supported by Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, Zenmuse P1, Zenmuse L1, Zenmuse X4S, Zenmuse X5S, Zenmuse X7, Mavic 2 Enterprise camera and Mavic 2 Enterprise Dual camera.
Input Parameters:
@NonNull String information
Custom information to set. Use UTF-8 encoding with a length equal to or less than 31 characters.
Custom information can be stored in media file's XMP meta data. This method retrieves the information that will be written to future media files. The information written to individual files can be retrieved through fetchCustomInformation. It is only supported Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, Zenmuse P1, Zenmse L1, Zenmuse X4S, Zenmuse X5S, Zenmuse X7, Mavic 2 Enterprise camera and Mavic 2 Enterprise Dual camera.
Input Parameters:
@NonNull final CompletionCallbackWith<String> callback
Determines whether the EI (exposure index) mode is supported by the camera. In this mode, the camera mimics the way a film camera works to help cinematographers capture as much information as possible while balancing the dynamic range and noise with different log curves. This mode only takes effect when the camera mode is in RECORD_VIDEO. The EI mode is supported by X4S, X5S and X7. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return true. User can only access the parameters through the lens object.
Return:
boolean
true if the EI mode is supported, otherwise false.
voidsetExposureSensitivityMode(final SettingsDefinitions.ExposureSensitivityMode mode, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the exposure sensitivity mode. It is only supported when isEIModeSupported returns true. It is supported by X4S, X5S and X7. For other cameras, only ISO mode is supported.
voidgetExposureSensitivityMode(@NonNull final CompletionCallbackWith<SettingsDefinitions.ExposureSensitivityMode> callback)
Package:
dji.sdk.camera
Description:
Gets the exposure sensitivity mode. It is only supported when isEIModeSupported returns true. It is supported by X4S, X5S and X7. For other cameras, only ISO mode is supported.
voidsetEI(finalint ei, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets EI value. The valid range can be fetched from getEIRange. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.
Input Parameters:
final int ei
The EI value to set.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether the mechanical shutter speed is supported by the camera or the lens (for X7). The mechanical shutter is supported by Zenmuse P1, Phantom 4 Pro camera, X4S and X7 with DL lenses. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return true. User can only access the parameters through the lens object.
Return:
boolean
true if the mechanical shutter is supported, otherwise false.
voidsetMechanicalShutterEnabled(finalboolean enabled, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Enables the mechanical shutter. It is only valid when isMechanicalShutterSupported returns true. For Zenmuse L1, this interface can not enabled in video mode.
Input Parameters:
final boolean enabled
true to enable the mechanical shutter.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether the ND filter mode is supported by the camera and the lens. Only the DL-S 16mm F2.8 ND ASPH lens for X7 has a built-in ND4 filter and supports changing the modes through an application. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return true. User can only access the parameters through the lens object.
Return:
boolean
true if the ND filter mode is supported, otherwise false.
voidsetSSDClipFileName(final SettingsDefinitions.SSDClipFileName name, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the clip name for the video to be stored in SSD. The clip name will be applied to the next video file stored in SSD. After saving a video file, getClipID will increase by 1 automatically. It is only supported by Inspire 2.
Determines whether the device supports the quick view. Quick view is the period of time a photo is shown as a preview after it is taken and before the camera returns to the live camera view. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return true. User can only access the parameters through the lens object.
Sets the camera's quick view duration. The valid range is [0, 10] seconds. When duration is 0, it means that the quick view is disabled. The default value is 0 second. Call isPhotoQuickViewSupported before using this method.
Input Parameters:
@IntRange(from = 0, to = 10) int duration
Quick view duration to be set for the camera. This value defines the amount of time a photo is shown as a preview after it is taken before the camera returns back to the live camera view. This value must be set in the range of [0, 10] seconds. When the value is 0, quick view is disabled. The default value is 0 second.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Enables HD (high-definition) live view. When it is enabled, the live view resolution is 1080p with frame rate 30 fps. The settings will only take effect when the camera is in record-video mode and the video resolution is either 1080p or 2.7k without slow-motion enabled. If recording video in 4k, then the live stream will be limited to 720p. Supported by Mavic Air 2, DJI Air 2S, Mavic Pro, Mavic 2 Pro, Mavic 2 Zoom and Phantom 4 Pro v2.0.
Input Parameters:
boolean enabled
Enable or disable HD live view.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
true if 1080p live view is enabled. This will return the value of the setter, and not necessarily the actual live view resolution. For example, if recording in 4K and HD live view has previously been set, then this will return true but the actual live view resolution will be 720p. Supported only by , DJI Air 2S, Mavic Pro, Mavic 2 Pro, Mavic 2 Zoom and Phantom 4 Pro V2.0.
Input Parameters:
@NonNull final CompletionCallbackWith<Boolean> callback
The execution callback with the returned value(s).
Enables the automatic control of the front-arm LEDs. The camera can turn off the front-arm LEDs automatically when it shoots photos or records videos. The LEDs will be turned on after the shooting or recording is finished. Supported only by Mavic Pro, Mavic Air, and Mavic 2 series.
Input Parameters:
boolean enabled
Enable the automatic control of the front-arm LEDs.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
voidsetBeaconAutoTurnOffEnabled(boolean enabled, @NonNull final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Enables the automatic control of the beacon. The camera can turn off the beacon automatically when it shoots photos or records videos. The LEDs will be turned on after the shooting or recording is finished. Only Supported by Matrice 200 series V2 and Zenmuse H20 Series mounted on Matrice 300 RTK.
Input Parameters:
boolean enabled
Enable the automatic control of the beacon.
@NonNull final CompletionCallback callback
The execution callback with the returned value(s).
Determines if the camera supports the internal storage or not. When it is supported, the camera shoot photos or record videos without SD card. The newly generated photos or videos will be stored in the internal storage.
voidsetStorageLocation(@NonNull SettingsDefinitions.StorageLocation location, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the storage location for the newly generated photos or videos. It is only supported when isInternalStorageSupported returns true. Not supported by Mavic Mini, DJI Mini 2, DJI Mini SE.
This method will turn off the camera's cooling fan whenever the camera is cool enough to do so. This allows better audio recording from the internal microphone in the camera.
Input Parameters:
boolean turnOffWhenPossible
true to turn fan off whenever possible.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
true if the current connected device is a thermal imaging camera. @return BOOL true if current connected device is thermal imaging camera. For Zenmuse H20T and H20N, please use class Lens.
Sets the Region of Interest (ROI). Used to manage color range distribution across the screen to maximize contrast for regions of highest interest. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Sets the Palette. Each palette is a unique look-up table that maps 8-bit temperature values to different colors. Different palettes can be used to help the user better visualize temperature contrast or specific temperature bands. The valid range can be fetched from thermalPaletteRange. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Sets the scene to instantly enhance your image. In all modes except Manual and User modes, the DDE, ACE, SSO, brightness and contrast are set automatically to obtain the best result. In User modes, the contrast and brightness are set automatically to obtain the best results. Any settings that are made in these modes are retained if the scene is changed. In Manual mode, DDE, contrast and brightness are set manually. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Sets the Digital Data Enhancement index (for DDE dynamic mode). DDE can be used to enhance image details (sharpen, higher index) and/or suppress fixed pattern noise (soften, lower index). It can be set manually only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = -20, to = 100) int value
Integer in range [-20, 100]. Values less than 0 soften the image and filter fixed pattern noise. Values greater than 0 sharpen the details in the image. Value of 0 results in no enhancement.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the value of Digital Data Enhancement. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Set the value of Active Contrast Enhancement. Active contrast enhancement allows for a contrast trade-off between hotter and colder scenes when using 8-bit pixel data. It can be set manually only when the Scene mode is User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = -8, to = 8) int value
Integer in range [-8, 8]. <br> value > 0: more contrast in hotter scene content and less contrast in colder scene content (sky, ocean etc.). <br> value < 0: more contrast in colder scene content and less contrast in hotter scene content. <br> value = 0: neutral <br> value = 3: recommended for generic use
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the value of Active Contrast Enhancement. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Sets the value of Smart Scene Optimization. When using non-linear histogram equalization to map the 14-bit sensor pixel values to 8-bit pixel values, it can become difficult to determine the difference in temperature of two objects from their different shades of gray. SSO allows a percentage of the 14-bit histogram to be mapped linearly to the 8-bit histogram, which will compromise local contrast, but allow for more accurate visual radiometric measurements. This is particularly useful for bi-modal scenes. It can be set manually only when the Scene mode is User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 100) int value
Percentage of histogram to map linearly [0, 100].
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the value of Smart Scene Optimization. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Sets the brightness of the image. It can be set manually only when the Scene mode is Manual. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 16383) int brightness
The integer value falls in [0, 16383].
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the value of brightness. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Sets the value of contrast, with larger values having higher contrast. It can be set manually only when the Scene mode is Manual. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 255) int contrast
Contrast value as an integer with range [0, 255].
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets contrast value. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Enable or disable Isotherms. Isotherms can be used to highlight specific temperature ranges: When disabled, all 256 values (8-bits) are dedicated to the temperature histogram of the scene. When enabled, only 128 values (0-127) are mapped linearly to temperature. Then three bands 128-175, 176-223 and 224-255 can be mapped to the user defined temperatures to highlight them to the user. Using some of the false color palettes (like RainbowIso) results in a thermal image that is grey scale except for three specific bands highlighted by either reds, blues or greens. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
boolean enabled
true if isotherms are enabled.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Determines whether Isotherms are enabled. true if Isotherms are enabled. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Boolean> callback
The execution callback with the returned value(s).
Sets the unit of the Isotherm ranges to either Celsius or percent. Different units results in different value ranges for Isotherms. Supported only by thermal imaging cameras except Mavic 2 Enterprise Dual thermal camera. For Mavic 2 Enterprise Dual, the Isotherm unit is always CELSIUS. For Zenmuse H20T and H20N, please use class Lens.
Gets the units for Isotherm ranges. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Mavic 2 Enterprise Dual, the Isotherm unit is always CELSIUS. For Zenmuse H20T and H20N, please use class Lens.
Sets the upper threshold value for Isotherm. All temperature values above this will use colors 224-255 from the palette. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 100) int value
If the unit is percentage, the allowed range is [0,100]. If the unit is Celsius, for Mavic 2 Enterprise Dual thermal camera, the value range is [-10, 400]. For other thermal imaging cameras, the value range is [-40, 500]. The value can only be equal or larger than middle Isotherm threshold.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Sets the middle threshold value for Isotherm. Temperature values between the middle and upper Isotherm threshold will be displayed with colors 176-223 from the palette. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 100) int value
If the unit is percentage, the value falls in [0,100]. If the unit is Celsius, the value range is [-40, 550]. The value can only be equal or larger than lower threshold and equal or smaller than upper threshold.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the middle threshold value for Isotherm. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned value(s).
Sets the lower threshold value for Isotherm. Temperature values between the lower and middle Isotherm threshold will be displayed with colors 128-175 from the palette. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 100) int value
If the unit is percentage, the value falls in [0,100]. If the unit is Celsius, for Mavic 2 Enterprise Dual thermal camera, the value range is [-10, 400], for other thermal imaging cameras, the value range is [-40, 500]. The value can only be equal or smaller than upper threshold.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Sets the gain mode. Low gain mode can be used for scenes with temperatures ranging from -40 to 550 degrees Celsius. For higher contrast, the high gain mode can be used by for temperatures between -25 to 135 degrees Celsius for the 640x512 camera and -25 to 100 degrees Celsius for 324 x 256 camera. Mavic 2 Enterprise Dual has different temperature range from other thermal imaging cameras. Therefore, for Mavic 2 Enterprise Dual, the low gain mode can be used from -10 to 140 degrees Celsius. The high gain mode can be used from -10 to 400 degree Celsius. Supported by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Sets the mode for thermal measurement. Use callback method onUpdate to receive the measurement result. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
For resolution 640 x 512, x1,x2,x4,x8 can be set. For resolution 336 x 256, only x1,x2,x4 can be set. Please refer to CameraThermalDigitalZoomScale in DJICameraSettingsDef.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the thermal imaging camera profile. The profile includes information about resolution, frame rate and focal length. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Sets the spot metering target point which then invoke the callback from setThermalTemperatureCallback with the temperature at a specific coordinate in the scene. This method requires a relative point that is proportional to the dimension of the camera video dimension, the x, and y values must all be between 0 and 1.0. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull PointF targetPoint
The desired target point.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Gets the spot metering target point if one is set, if not then returns CGPointZero. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<PointF> callback
The execution callback with the returned value(s).
Set the metering area for a rectangle inside the thermal image scene, which allows the camera to transmit aggregate temperature computations via the onUpdate callback method. See ThermalAreaTemperatureAggregations for the statistical values that are available. This method requires a relative rect that is proportional to the rect of the thermal scene, the x, y, width, and height values must all be between 0 and 1.0. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T, please use class Lens.
Input Parameters:
@NonNull RectF area
The desired thermal metering area.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Get a rect representing the currently set metering area for the thermal scene. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<RectF> callback
The execution callback with the returned value(s).
Set the flat-field correction (FFC) mode. Supported only by thermal imaging cameras. For Mavic 2 Enterprise Dual thermal camera, the ThermalFFCMode is always AUTO. For Mavic 2 Enterprise Advanced camera, support AUTO and MANUAL. For Zenmuse H20T and H20N, please use class Lens.
Get the currently set flat-field correction (FFC) mode. Supported only by thermal imaging cameras with installed firmware version of 1.15.1.60 or higher. For Mavic 2 Enterprise Dual thermal camera, the DJICamera_DJICameraThermalFFCMode is always DJICamera_DJICameraThermalFFCMode_Auto. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<ThermalFFCMode> callback
The execution callback with the returned value(s).
Set the custom user profile. This profile represents user-set external scene parameters for the thermal scene. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Get the currently set custom user profile. This profile represents user-set external scene parameters for the thermal scene. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.
Set the temperature of the atmosphere between the scene and the camera. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
float temperature
The assumed temperature of the atmosphere between the camera and the scene, can be between -50 and 327.67 degrees Celsius.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the transmission coefficient of the atmosphere between the scene and the camera. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float coefficient
The desired atmospheric temperature, can be between 50 and 100.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the assumed temperature reflected by the background of the scene, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float temperature
The desired background reflected temperature.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the emissivity of the thermal scene, can be between 50 and 100. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float emissivity
The desired scene emissivity.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set assumed window reflection coefficient, can be between 0 and X where X is the window transmission coefficient parameter. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float reflection
The desired window reflection coefficient.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the temperature reflected in the window, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float temperature
The desired window reflected temperature.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the window temperature, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float temperature
The desired window temperature.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
Set the window transmission coefficient, can be between 50 and 100-X where X is the window reflection. Supported only by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20T and H20N, please use class Lens.
Input Parameters:
final float coefficient
The desired window transmission coefficient.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
voidsetThermalTemperatureUnit(final SettingsDefinitions.TemperatureUnit temperatureUnit, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the temperature unit. Only supported by XT2 and Mavic 2 Enterprise Dual. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
voidsetDisplayMode(final SettingsDefinitions.DisplayMode mode, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the display mode to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and Mavic 2 Enterprise Dual Thermal Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
voidgetDisplayMode(@NonNull final CompletionCallbackWith<SettingsDefinitions.DisplayMode> callback)
Package:
dji.sdk.camera
Description:
Gets the display mode. The display mode determine the way to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and Mavic 2 Enterprise Dual Thermal Camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
voidsetMSXLevel(@IntRange(from = 0, to = 100)int level, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the level for MSX display mode. The range for level is [0, 100]. When it is 0, the visible spectrum definition is invisible. When it is 100, the visual spectrum definition is the most obvious. Only supported by XT2 camera and Mavic 2 Enterprise Dual. Mavic 2 Enterprise Dual does not support with firmware version lower than 01.01.0520. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@IntRange(from = 0, to = 100) int level
The MSX level to set with range [0, 100].
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
voidgetMSXLevel(@NonNull final CompletionCallbackWith<Integer> callback)
Package:
dji.sdk.camera
Description:
Gets the level for MSX display mode. The range for level is [0, 100]. When it is 0, the visible spectrum definition is invisible. When it is 100, the visual spectrum definition is the most obvious. Only supported by XT2 camera and Mavic 2 Enterprise Dual. Mavic 2 Enterprise Dual does not support with firmware version lower than 01.01.0520. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned execution result.
voidsetDualFeedVerticalAlignmentOffset(@IntRange(from = -40, to = 40)int offset, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the vertical alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-8, 8]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window up. Use this setting to fine-tune the performance of MSX display mode and the align PIP mode. Only supported by XT2 camera and Mavic 2 Enterprise Dual.
Input Parameters:
@IntRange(from = -40, to = 40) int offset
Range from -8 to 8 for XT2, from -40 to 40 for Mavic 2 Enterprise Dual.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
voidgetDualFeedVerticalAlignmentOffset(@NonNull final CompletionCallbackWith<Integer> callback)
Package:
dji.sdk.camera
Description:
Gets the vertical alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-8, 8]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window up. Only supported by XT2 camera and Mavic 2 Enterprise Dual camera.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned execution result.
voidsetDualFeedHorizontalAlignmentOffset(@IntRange(from = -100, to = 100)int offset, @Nullable final CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the horizontal alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-100, 100]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window to the right. Use this setting to fine-tune the performance of MSX display mode and the align PIP mode. Only supported by XT2 camera and Mavic 2 Enterprise Dual.
Input Parameters:
@IntRange(from = -100, to = 100) int offset
Range from -100 to 100 for XT2, from -40 to 40 for Mavic 2 Enterprise Dual.
@Nullable final CompletionCallback callback
The execution callback with the returned execution result.
voidgetDualFeedHorizontalAlignmentOffset(@NonNull final CompletionCallbackWith<Integer> callback)
Package:
dji.sdk.camera
Description:
Gets the horizontal alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-100, 100]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window to the right. Only supported by XT2 camera and Mavic 2 Enterprise Dual.
Input Parameters:
@NonNull final CompletionCallbackWith<Integer> callback
The execution callback with the returned execution result.
voidsetCameraVideoStreamSource(@NonNull CameraVideoStreamSource cameraVideoStreamSource, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the camera video stream source. For multi-lens cameras, the camera stream has different sources. CameraVideoStreamSource is used to represents the camera video stream source. When the source of the camera video stream is set, the current live view stream will also been changed to corresponding source. It is only supported by Zenmuse H20 Series.
voidgetCameraVideoStreamSource(@NonNull final CommonCallbacks.CompletionCallbackWith<CameraVideoStreamSource> callback)
Package:
dji.sdk.camera
Description:
Gets the camera video stream source. For multi-lens cameras, the camera stream has different sources. CameraVideoStreamSource is used to represents the camera video stream source. When the source of the camera video stream is set, the image transmission will also been changed to corresponding source. It is only supported by Zenmuse H20 series.
voidsetCaptureCameraStreamSettings(@NonNull CameraStreamSettings streamSettings, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.camera
Description:
By default, all lenses of this camera will take photos. by using this interface, you can select your interested lens to take photos. Before calling this interface, you should set the camera mode to photo mode. Only supported by Zenmuse H20 series.
voidsetRecordCameraStreamSettings(@NonNull CameraStreamSettings streamSettings, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.camera
Description:
Sets the camera stream settings for recording video. When recording video, it will been determined whether if current screen is recorded and which camera stream sources are recorded according the camera settings. The class of CameraStreamSettings is used to set the camera stream settings. Before calling this interface, you should set the camera mode to video mode. Only supported by Zenmuse H20 series.
Sets the display mode to coordinate the video feeds from both the RGB sensor and single-band sensors. Only supported by multispectral camera of P4 Multispectral.
Gets the display mode. The display mode determines the way to coordinate the video feeds from both the RGB sensor and single-band sensors. Only supported by multispectral camera of P4 Multispectral.
Sets the storage settings for the multispectral camera. The settings control if the photos created by different sensors will be saved or not. Only supported by multispectral camera of P4 Multispectral.
Sets the metering mode for the single-band sensors on the multispectral camera. The same metering mode will be applied to all single-band sensors (sensors except the RGB one). Only CENTER and AVERAGE mode to be set. Only supported by multispectral camera of P4 Multispectral.
Sets the exposure mode for the single-band sensors on the multispectral camera. The same exposure mode will be applied to all single-band sensors (sensors except the RGB one). Exposure mode must be PROGRAM or SHUTTER_PRIORITY. Only supported by multispectral camera of P4 Multispectral.
Sets the exposure compensation for the single-band sensors on the multispectral camera. The same exposure compensation will be applied to all single-band sensors (sensors except the RGB one). See ExposureCompensation to view all possible exposure compensations to which the single-band sensors can be set. In order to use this function, set the camera exposure mode to PROGRAM or SHUTTER_PRIORITY Only supported by multispectral camera of P4 Multispectral.
Sets the shutter speed for the single-band sensors on the multispectral camera. The same shutter speed will be applied to all single-band sensors (sensors except the RGB one). To see all available shutter speed value settings, see ShutterSpeed. The shutter speed should not be set slower than the video frame rate when the camera's mode is RECORD_VIDEO. For example, if the video frame rate is 30fps, the shutter speed must be <= 1/30. Precondition: The shutter speed can be set only when the camera exposure mode is SHUTTER_PRIORITY mode. Only supported by multispectral camera of P4 Multispectral.
Shutter speed value to be set for the single-band sensors. For all available values shutterSpeed can be set to, please check ShutterSpeed. <br> The shutter speed should not be set slower than the video frame rate when the camera's mode is RECORD_VIDEO. For example, if the video frame rate = 30fps, then the shutterSpeed must be <= 1/30.
Gets the shutter speed for all single-band sensors (sensors except the RGB one). The shutter speed is only available when the camera exposure mode is SHUTTER_PRIORITY mode.
Locks or unlocks the single-band sensors on the multispectral camera AELock AE (auto exposure). The same lock state will be applied to all single-band sensors (sensors except the RGB one).
Input Parameters:
boolean isLocked
true if the the single-band sensors AE is locked, false if it is unlocked.
If you encounter the following situation, please call this interface for camera calibration. Only supported by Zemmuse P1. 1. Zemmuse P1 supports the replacement of a variety of fixed focus lenses, so when the lens is replaced, it is recommended that you recalibrate. 2. Please listen the OnStateUpdate, if the status is NOT_CALIBRATE, please recalibrate. 3. Please listen the hms error code, If you listen to the following error code, please recalibrate. hms_0x1C000D02: The camera calibration file failed to load, please perform infinity calibration. hms_0x1C000D03: Infinity focus calibration data expired. Recalibrate. hms_0x1C000D04: Infinity focus calibration data expired. Recalibrate.
The following are the calibration steps: 1. Take off and ascend to 102 meters (335ft) or higher to start calibration. Fly with caution. 2. Call startCalibration interface. The state will change to WAITING_FOR_CALIBRATE. 3. Set gimbal angle as -90 degrees(perpendicular to the ground). Call setFocusTarget interface to set the object with multiple distinct visual patterns at the center of the camera view as focus. Then the state will change to CALIBRATING. 4. After finish the calibration, the state will change to CALIBRATED. You can use DJICameraCalibrateResult to listen the calibration result.
Make sure you have calibrated the lens' infinity focusing with startCalibration. When in use, the lens uses infinity focus as calibrated. To help ensure focusing accuracy, recalibrate the infinity focus when there is a large temperature difference between the mission environment and the calibration environment (>15 degrees Celsius).
Returns the component index. Index is zero based. A component will have an index greater than zero when there are multiple components of the same type on the DJI product, and one of the components already has the index 0. For instance, M210 can have two gimbal mounted cameras, and will therefore have two gimbal components with indices 0 and 1, and two camera components with indices 0 and 1. For Matrice 600, there are printed numbers on the battery boxes. The Battery component instance with index 0 corresponds to battery compartment number 1. For Inspire 2 and M200 series, Battery with index 0 corresponds to the battery on the port (left hand) side of the aircraft. For M210, M210 RTK, M300 RTK and M350 RTK, Camera and Gimbal with index 0 corresponds to the camera and gimbal on the port (left hand) side of the aircraft. Lidar with index 0 corresponds to the lidar(Zenmuse L1) on the port (left hand) side of the aircraft.
Gets the serial number of the component. Depending on the component, this serial number might not match the serial number found on the physical component.
Returns the firmware version of the component. Each component will have a different firmware version, the combination of which will form the package firmware version getFirmwarePackageVersion found in BaseProduct.
Input Parameters:
@NonNull CompletionCallbackWith<String> callback
The execution callback with the value(s) returned.