DJI Mobile SDK Documentation

      class Camera

      class Camera extends BaseComponent
      Package:dji.sdk.camera
      Inherits From:BaseComponent
      Description:

      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.

      Class Members:

      State Updates

      method setSystemStateCallback
      void setSystemStateCallback(@Nullable SystemState.Callback updatedSystemStateCallBack)
      Package:dji.sdk.camera
      Description:

      Sets the camera's system state callback. The onUpdate function has a CameraSystemState object as its parameter.

      Precondition:

      A Callback object must be implemented and passed in as a parameter.

      Postcondition:

      The Callback object that was passed in as a parameter will call its onUpdate function at regular intervals.

      Input Parameters:
      @Nullable SystemState.Callback updatedSystemStateCallBackThe 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.
      method setExposureSettingsCallback
      void setExposureSettingsCallback(@Nullable ExposureSettings.Callback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable ExposureSettings.Callback callbackThe execution callback.
      method setMediaFileCallback
      @Deprecated
      void setMediaFileCallback(@Nullable MediaFile.Callback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable MediaFile.Callback callbackThe 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.
      method setNewGeneratedMediaFileInfoCallback
      void setNewGeneratedMediaFileInfoCallback(@Nullable MediaFile.NewFileInfoCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the camera's new generated media file info callback.

      Input Parameters:
      @Nullable MediaFile.NewFileInfoCallback callbackThe 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.
      method setTimeLapsePreviewCallback
      void setTimeLapsePreviewCallback(@Nullable TimeLapsePreviewCallback generatedTimeLapseCallBack)
      Package:dji.sdk.camera
      Description:

      Sets the generated preview image callback. The callback's onGenerate method will be called each time a photo has been taken.

      Input Parameters:
      @Nullable TimeLapsePreviewCallback generatedTimeLapseCallBackThe execution callback.
      Thermal Temperature
      method
      method setThermalTemperatureCallback
      void setThermalTemperatureCallback(@Nullable TemperatureDataCallback updateCenterTemperatureCallback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable TemperatureDataCallback updateCenterTemperatureCallbackThe Callback object to set as the callback. <br> Callback implements an onUpdate method.</br> The Float object contains information about the updated temperature value.
      method setFocusStateCallback
      void setFocusStateCallback(@Nullable FocusState.Callback updatedLensStateCallback)
      Package:dji.sdk.camera
      Description:

      Callback for updating the lens state. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @Nullable FocusState.Callback updatedLensStateCallbackThe callback.
      Thermal Area Temperature Aggregations
      method
      method setThermalAreaTemperatureAggregationsCallback
      void setThermalAreaTemperatureAggregationsCallback(
      @Nullable ThermalAreaTemperatureAggregations.Callback areaTemperatureAggregationsUpdatedCallback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable ThermalAreaTemperatureAggregations.Callback areaTemperatureAggregationsUpdatedCallbackThe Callback object to set as the callback.
      Thermal External Scene Settings
      method
      method setThermalExternalSceneSettingsCallback
      void setThermalExternalSceneSettingsCallback(
      @Nullable ThermalExternalSceneSettings.Callback thermalExternalSceneSettingsUpdatedCallback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable ThermalExternalSceneSettings.Callback thermalExternalSceneSettingsUpdatedCallbackThe Callback object to set as the callback.
      method setSDCardStateCallBack
      @Deprecated
      void setSDCardStateCallBack(@Nullable StorageState.Callback updatedSDCardStateCallback)
      Package:dji.sdk.camera
      Description:

      Sets the camera's SD card information callback. Deprecated, please use onUpdate instead.

      Input Parameters:
      @Nullable StorageState.Callback updatedSDCardStateCallbackThe Callback object to set as the callback.
      method setStorageStateCallBack
      void setStorageStateCallBack(@Nullable StorageState.Callback storageStateCallBack)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @Nullable StorageState.Callback storageStateCallBackThe Callback object to set as the callback.
      method setSSDStateCallback
      void setSSDStateCallback(@Nullable SSDState.Callback updatedSSDStateCallback)
      Package:dji.sdk.camera
      Description:

      Callback for updating the SSD state.

      Input Parameters:
      @Nullable SSDState.Callback updatedSSDStateCallbackThe Callback.
      Histogram
      method
      method setHistogramCallback
      void setHistogramCallback(@Nullable HistogramCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the histogram callback.

      Input Parameters:
      @Nullable HistogramCallback callbackThe execution callback.
      Camera Video Stream Source
      method
      method setCameraVideoStreamSourceCallback
      void setCameraVideoStreamSourceCallback(CameraVideoStreamSource.Callback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      CameraVideoStreamSource.Callback callbackThe execution callback with the returned value(s).
      Multispectral Exposure State
      method
      method setMultispectralExposureStateCallback
      void setMultispectralExposureStateCallback(@Nullable MultispectralExposureState.Callback callback)
      Package:dji.sdk.camera
      Description:

      Called when the Multispectral camera's exposure status changes. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      @Nullable MultispectralExposureState.Callback callbackCallback to receive the result.
      Check Capture In Video Supported
      method
      method isCaptureInVideoSupported
      boolean isCaptureInVideoSupported()
      Package:dji.sdk.camera
      Description:

      This method is used to determine whether the video recording supports photographing.

      Return:
      booleanA boolean value.


      Information

      Display Name
      method
      method getDisplayName
      String getDisplayName()
      Package:dji.sdk.camera
      SDK Key:CameraKey.DISPLAY_NAME
      Description:

      Return string that represents name of the camera.

      Return:
      StringAn instance of display name String.
      Camera Capabilities
      method
      method getCapabilities
      Capabilities getCapabilities()
      Package:dji.sdk.camera
      Description:

      Camera capabilities. Return nil when the camera is multiple lenses camera. Instead, user can access lens' capabilities through its lens object.

      Return:
      CapabilitiesAn object of Capabilities.
      Get Camera Lens
      method
      method getLens
      Lens getLens(int lensIndex)
      Package:dji.sdk.camera
      Description:

      Gets camera lens by lensIndex.

      Input Parameters:
      int lensIndexLens index.
      Return:
      LensAn object of Lens.
      Camera Lens
      method
      method getLenses
      @Nullable
      List<Lens> getLenses()
      Package:dji.sdk.camera
      Description:

      Camera's own lenses.

      Return:
      List<Lens>A list of Lens.


      Flat Camera Mode

      Check Flat Camera Mode Supported
      method
      method isFlatCameraModeSupported
      boolean isFlatCameraModeSupported()
      Package:dji.sdk.camera
      Description:

      Determines if current camera supports Flat Camera Mode. Returns true if the CameraMode and ShootPhotoMode flatten into FlatCameraMode. The FlatCameraMode and setFlatMode can be used to set the camera mode directly. The user does not need to use setMode and setShootPhotoMode to set the camera mode by two steps. Besides, the MEDIA_DOWNLOAD is decoupled from the CameraMode. Determine what the last camera mode was by checking getMode before entering the playback.

      Return:
      booleanA boolean value.
      Set Flat Mode
      method
      method setFlatMode
      void setFlatMode(@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.

      Input Parameters:
      @NonNull FlatCameraMode modeCamera flat mode. See FlatCameraMode to find details.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Get Flat Mode
      method
      method getFlatMode
      void getFlatMode(@NonNull final CompletionCallbackWith<FlatCameraMode> callback)
      Package:dji.sdk.camera
      Description:

      Gets the camera's current flat mode. This is available only when isFlatCameraModeSupported returns true.

      Input Parameters:
      @NonNull final CompletionCallbackWith<FlatCameraMode> callbackThe execution callback with the returned value(s).
      Enter Playback Mode
      method
      method enterPlayback
      void enterPlayback(@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.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with result of the action.
      Exit Playback Mode
      method
      method exitPlayback
      void exitPlayback(@NonNull final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Exit play back mode. This is available only when isFlatCameraModeSupported returns true.

      Input Parameters:
      @NonNull final CompletionCallback callbackThe execution callback with result of the action.


      Shoot Photo/Video

      Camera Mode
      method
      method setMode
      void setMode(@NonNull CameraMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.MODE
      Description:

      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.

      Input Parameters:
      @NonNull CameraMode modeCamera work mode. See enum named CameraMode in SettingsDefinitions to find details on camera work modes.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method
      method getMode
      void getMode(@NonNull final CompletionCallbackWith<CameraMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.MODE
      Description:

      Gets the camera's current work mode. Also supported by thermal imaging camera.

      Input Parameters:
      @NonNull final CompletionCallbackWith<CameraMode> callbackThe execution callback with the returned value(s).
      Record Video
      method
      method startRecordVideo
      void startRecordVideo(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.START_RECORD_VIDEO
      Description:

      Starts recording video.

      Precondition:
      Camera must be in RECORD_VIDEO mode.
      For thermal imaging camera, user can take Single photo when recording video.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method stopRecordVideo
      void stopRecordVideo(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.STOP_RECORD_VIDEO
      Description:

      Stops recording video.

      Precondition:
      The camera is recording currently.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Shoot Photo
      method
      method startShootPhoto
      void startShootPhoto(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.START_SHOOT_PHOTO
      Description:

      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 callbackThe execution callback with the returned execution result.
      method stopShootPhoto
      void stopShootPhoto(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.STOP_SHOOT_PHOTO
      Description:

      Camera stops taking photos.

      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 callbackThe execution callback with the returned execution result.
      Shoot Photo Mode
      method
      method setShootPhotoMode
      void setShootPhotoMode(@NonNull ShootPhotoMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHOOT_PHOTO_MODE
      Description:

      Sets the photo shooting mode for the camera.

      Input Parameters:
      @NonNull ShootPhotoMode modeShootPhotoMode enum value.
      @Nullable final CompletionCallback callbackAsynchronous execution result.
      method getShootPhotoMode
      void getShootPhotoMode(@NonNull final CompletionCallbackWith<ShootPhotoMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHOOT_PHOTO_MODE
      Description:

      Returns the current photo shooting mode of the camera.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ShootPhotoMode> callbackAsynchronous execution result.
      method isTimeLapseSupported
      boolean isTimeLapseSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_TIME_LAPSE_SUPPORTED
      Description:

      Check if the current device supports time-lapse shoot mode. Supported only on the Osmo camera.

      Return:
      booleantrue if timelapse is supported.
      Super Resolution
      method
      method isSuperResolutionSupported
      boolean isSuperResolutionSupported()
      Package:dji.sdk.camera
      Description:

      Check if the current device supports super resolution shoot mode. Supported only on the Zenmuse H20 Series.

      Return:
      booleantrue if Super Resolution is supported.
      method setSuperResolutionInfoCallback
      void setSuperResolutionInfoCallback(@Nullable SuperResolutionInfo.Callback superResStateCallback)
      Package:dji.sdk.camera
      Description:

      Callback for updating the super resolution state.

      Input Parameters:
      @Nullable SuperResolutionInfo.Callback superResStateCallbackCallback method.
      method setSuperResolutionCaptureArea
      void setSuperResolutionCaptureArea(@NonNull RectF area, @Nullable final CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the capture area of super resolution. The area range must be within the range:getMaxArea.

      Input Parameters:
      @NonNull RectF areaA RecF value of super resolution capture area.
      @Nullable final CommonCallbacks.CompletionCallback callbackCallback method.


      Settings
      class
      enum FlatCameraMode
      enum FlatCameraMode
      Package:dji.common.camera
      Description:

      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_MOTIONSets the camera to slow motion video recording mode. Only supported by Mavic Air 2, DJI Air 2S.
      VIDEO_NORMALSets the camera to record normal videos.
      PHOTO_TIME_LAPSESets 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_AEBAutomatic 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_SINGLESets the camera to take a single photo.
      PHOTO_BURSTSet the camera to take multiple photos at once.
      PHOTO_HDRSets the camera to take photos in HDR mode.
      VIDEO_HDRSets the camera to HDR video recording mode. Only supported by Mavic Air 2.
      PHOTO_INTERVALSets 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_LIGHTSets 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_PANORAMASets 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_EHDRSets the camera to take an enhanced-HDR photo. It blends a sequence of photos for ghost-free high dynamic range photos.
      PHOTO_HIGH_RESOLUTIONSets 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_RESOLUTIONSets 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_SMARTSets 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_CHECKINGInternal 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.
      UNKNOWNThe camera work mode is unknown.
      Class Members:
      enum PhotoAEBCount
      enum PhotoAEBCount
      Package:dji.common.camera
      SDK Key:CameraKey.PHOTO_AEB_COUNT
      Description:

      The number of pictures to continuously take at one time in AEB mode. Use with DJICameraPhotoAEBParam.

      Enum Members:
      AEB_COUNT_3The number of pictures to continuously take at one time in AEB mode is 3.
      AEB_COUNT_5The number of pictures to continuously take at one time in AEB mode is 5.
      AEB_COUNT_7The number of pictures to continuously take at one time in AEB mode is 7.
      UNKNOWNThe number of pictures to continuously take at one time in AEB mode is unknown.
      Class Members:
      enum PhotoPanoramaMode
      enum PhotoPanoramaMode
      Package:dji.common.camera
      SDK Key:CameraKey.PHOTO_PANORAMA_MODE
      Description:

      Panorama photo modes.

      Enum Members:
      PANORAMA_MODE_3X3Camera 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_3X1Camera will shoot 3 photos with the same aircraft heading and different gimbal pitch.
      PANORAMA_MODE_SPHERECamera 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_180Camera will shoot 3 photos with the same gimbal pitch (facing forward) and different aircraft headings.
      PANORAMA_MODE_SUPER_RESOLUTIONThe 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.
      UNKNOWNUnknown.
      Class Members:
      enum CameraVideoStreamSource
      enum CameraVideoStreamSource
      Package:dji.common.camera
      Description:

      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:
      DEFAULTThe default video stream channel.
      WIDEWide stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
      ZOOMZoom stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
      INFRARED_THERMALInfrared thermal stream. Only supported by Zenmuse H20T and H20N.and Mavic 2 Enterprise Advanced.
      UNKNOWNUnknown.
      Class Members:
      Callback
      class
      enum SuperResolutionStatus
      enum SuperResolutionStatus
      Package:dji.common.camera
      Description:

      The states of Super resolution.

      Enum Members:
      SELECTINGSelecting. You could adjust super resolution area with setSuperResolutionCaptureArea.
      IN_PROGRESSSuper resolution shooting in progress.
      FINISHSuper resolution shooting completed.
      EXIT_OUT_OF_STORAGEStop shooting because there is no storage.
      EXIT_SHOOT_FAILStop shooting because the shooting failed.
      EXIT_GIMBAL_BLOCKStop shooting because the gimbal is blocked.
      EXIT_GIMBAL_ABNORMAL_MOVEStop shooting because the gimbal did not move or move abnormally.
      TIP_GIMBAL_OUT_OF_RANGEStop shooting because the angle of gimbal exceeds the maximum range.
      TIP_OUT_OF_ZOOMThe zoom of camera out of the maximum range.
      UNKNOWNUnknown error.
      Class Members:
      enum
      enum Result
      enum Result
      Package:dji.sdk.camera.view
      Description:

      Defines the result of pin point callback.

      Enum Members:
      SUCCESS_BUT_OUT_OF_SCREENSuccess to get the pin point location, but point is out of liveview, should show as side indicator, please reference to DJI pilot.
      SUCCESSSuccess to get the pin point location, the point is insde the liveview.
      FAILEDFailed to get the pin point location.
      INVALID_DRONE_POSITIONFailed to get the pin point location, because the drone position is invalid.
      INVALID_POINT_POSITIONFailed to get the pin point location, because the input GPS location is invalid.
      GIMBAL_ATTI_ERRORFailed to get the pin point location, because of gimbal attitude error.
      CAMEAR_ERRORFailed to get the pin point location, because of camera error.
      Class Members:
      State Updates
      class
      Managers
      class
      SSD Clip File Name
      class
      Original Photo Settings
      class
      Multispectral Storage Settings
      class
      Multispectral Exposure State
      class
      Watermark Settings
      class
      Laser Measure Info
      class
      final DisplayNamePhantom3StandardCamera
      static final String DisplayNamePhantom3StandardCamera =
      DJICameraAbstraction.DisplayNamePhantom3StandardCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 3 Standard camera.

      final DisplayNamePhantom3AdvancedCamera
      static final String DisplayNamePhantom3AdvancedCamera =
      DJICameraAbstraction.DisplayNamePhantom3AdvancedCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 3 Advanced camera.

      final DisplayNamePhantom3ProfessionalCamera
      static final String DisplayNamePhantom3ProfessionalCamera =
      DJICameraAbstraction.DisplayNamePhantom3ProfessionalCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 3 Professional camera.

      final DisplayNamePhantom34KCamera
      static final String DisplayNamePhantom34KCamera = DJICameraAbstraction.DisplayNamePhantom34KCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 3 4K camera.

      final DisplayNameX3
      static final String DisplayNameX3 = DJICameraAbstraction.DisplayNameX3
      Package:dji.sdk.camera
      Description:

      The display name for X3 camera.

      final DisplayNameX5
      static final String DisplayNameX5 = DJICameraAbstraction.DisplayNameX5
      Package:dji.sdk.camera
      Description:

      The display name for X5 camera.

      final DisplayNameX5R
      static final String DisplayNameX5R = DJICameraAbstraction.DisplayNameX5R
      Package:dji.sdk.camera
      Description:

      The display name for X5R camera.

      final DisplayNamePhantom4Camera
      static final String DisplayNamePhantom4Camera = DJICameraAbstraction.DisplayNamePhantom4Camera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 4 camera.

      final DisplaynamePhantom4ProCamera
      static final String DisplaynamePhantom4ProCamera = DJICameraAbstraction.DisplaynamePhantom4ProCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 4 Pro camera.

      final DisplayNameXT
      static final String DisplayNameXT = DJICameraAbstraction.DisplayNameXT336
      Package:dji.sdk.camera
      Description:

      The display name for Zenmuse XT camera.

      final DisplayNameXTS
      static final String DisplayNameXTS = DJICameraAbstraction.DisplayNameXTS
      Package:dji.sdk.camera
      Description:

      The display name for Zenmuse XT S camera.

      final DisplayNameZ3
      static final String DisplayNameZ3 = DJICameraAbstraction.DisplayNameZ3
      Package:dji.sdk.camera
      Description:

      The display name for Z3 camera.

      final DisplayNameMavicProCamera
      static final String DisplayNameMavicProCamera = DJICameraAbstraction.DisplayNameMavicProCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic Pro camera.

      final DisplayNameSparkCamera
      static final String DisplayNameSparkCamera = DJICameraAbstraction.DisplayNameSparkCamera
      Package:dji.sdk.camera
      Description:

      The display name for Spark camera.

      final DisplaynamePhantom4PV2Camera
      static final String DisplaynamePhantom4PV2Camera = DJICameraAbstraction.DisplaynamePhantom4PSDRCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 4 Pro V2 camera.

      final DisplaynamePhantom4RTKCamera
      static final String DisplaynamePhantom4RTKCamera = DJICameraAbstraction.DisplaynamePhantom4RTKCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 4 RTK camera.

      final DisplayNameX7
      static final String DisplayNameX7 = DJICameraAbstraction.DisplayNameX7
      Package:dji.sdk.camera
      Description:

      The display name for X7 camera.

      final DisplayNameXT2_IR
      static final String DisplayNameXT2_IR = DJICameraAbstraction.DisplayNameXT2_IR
      Package:dji.sdk.camera
      Description:

      The display name for XT2 thermal camera.

      final DisplayNameXT2_VL
      static final String DisplayNameXT2_VL = DJICameraAbstraction.DisplayNameXT2_VL
      Package:dji.sdk.camera
      Description:

      The display name for XT2 visual camera.

      final DisplayNameMavicAirCamera
      static final String DisplayNameMavicAirCamera = DJICameraAbstraction.DisplayNameMavicAirCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic Air camera.

      final DisplayNameMavic2ZoomCamera
      static final String DisplayNameMavic2ZoomCamera = DJICameraAbstraction.DisplayNameMavic2ZoomCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Zoom camera.

      final DisplayNameMavic2ProCamera
      static final String DisplayNameMavic2ProCamera = DJICameraAbstraction.DisplayNameMavic2ProCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Pro camera.

      final DisplayNameMavic2EnterpriseCamera
      static final String DisplayNameMavic2EnterpriseCamera = DJICameraAbstraction.DisplayNameMavic2EnterpriseCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Enterprise.

      final DisplayNameMavic2EnterpriseDual_IR
      static final String DisplayNameMavic2EnterpriseDual_IR = DJICameraAbstraction.DisplayNameMavic2EnterpriseDual_IR
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Enterprise Dual thermal camera.

      final DisplayNameMavic2EnterpriseDual_VL
      static final String DisplayNameMavic2EnterpriseDual_VL = DJICameraAbstraction.DisplayNameMavic2EnterpriseDual_VL
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Enterprise Dual visual camera.

      final DisplayNameP4MCamera
      static final String DisplayNameP4MCamera = DJICameraAbstraction.DisplayNameP4MCamera
      Package:dji.sdk.camera
      Description:

      The display name for P4 Multispectral camera.

      final DisplayNameMavicMiniCamera
      static final String DisplayNameMavicMiniCamera = DJICameraAbstraction.DisplayNameMavicMiniCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic Mini camera.

      final DisplayNameMavicAir2Camera
      static final String DisplayNameMavicAir2Camera = DJICameraAbstraction.DisplayNameMavicAir2Camera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic Air 2 camera.

      final DisplayNameZenmuseH20
      static final String DisplayNameZenmuseH20 = DJIMultiLensCameraAbstraction.DisplayNameZenmuseH20
      Package:dji.sdk.camera
      Description:

      The display name for Zenmuse H20.

      final DisplayNameZenmuseH20T
      static final String DisplayNameZenmuseH20T = DJIMultiLensCameraAbstraction.DisplayNameZenmuseH20T
      Package:dji.sdk.camera
      Description:

      The display name for Zenmuse H20T.

      final DisplayNameZenmuseH20N
      static final String DisplayNameZenmuseH20N = DJIMultiLensCameraAbstraction.DisplayNameZenmuseH20N
      Package:dji.sdk.camera
      Description:

      The display name for Zenmuse H20N.

      final DisplayNameMavic2EnterpriseAdvancedCamera
      static final String DisplayNameMavic2EnterpriseAdvancedCamera = DJIMultiLensCameraAbstraction.DisplayNameMavic2EnterpriseAdvancedCamera
      Package:dji.sdk.camera
      Description:

      The display name for Mavic 2 Enterprise Advanced Camera.

      final XT2_IR_CAMERA_INDEX
      static final int XT2_IR_CAMERA_INDEX = DJISDKCacheHWAbstractionLayer.XT2_IR_CAMERA_INDEX
      Package:dji.sdk.camera
      Description:

      Index for the XT2 camera.

      final DisplayNameZ30
      static final String DisplayNameZ30 = DJICameraAbstraction.DisplayNameZ30
      Package:dji.sdk.camera
      Description:

      The display name for Z30 camera.

      final DisplayNameX4S
      static final String DisplayNameX4S = DJICameraAbstraction.DisplayNameX4S
      Package:dji.sdk.camera
      Description:

      The display name for X4S camera.

      final DisplayNameX5S
      static final String DisplayNameX5S = DJICameraAbstraction.DisplayNameX5S
      Package:dji.sdk.camera
      Description:

      The display name for X5S camera.

      final DisplaynamePhantom4AdvancedCamera
      static final String DisplaynamePhantom4AdvancedCamera = DJICameraAbstraction.DisplaynamePhantom4AdvancedCamera
      Package:dji.sdk.camera
      Description:

      The display name for Phantom 4 Advanced camera.

      Camera peak Threshold
      class
      DJILens
      class


      Playback and Download

      method isMediaDownloadModeSupported
      boolean isMediaDownloadModeSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_MEDIA_DOWNLOAD_MODE_SUPPORTED
      Description:

      Check if the current device supports Media Download Mode.

      Return:
      booleantrue if the current device supports Media Download Mode, false otherwise.
      method getMediaManager
      @Nullable
      MediaManager getMediaManager()
      Package:dji.sdk.camera
      Description:

      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.

      Return:
      MediaManagerAn instance of MediaManager.
      Playback
      method
      method isPlaybackSupported
      boolean isPlaybackSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_PLAYBACK_SUPPORTED
      Description:

      Check if the current device supports Playback Mode.

      Return:
      booleanA boolean value.
      method getPlaybackManager
      @Nullable
      PlaybackManager getPlaybackManager()
      Package:dji.sdk.camera
      Description:

      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.

      Return:
      PlaybackManagerAn instance of PlaybackManager.


      Exposure & White Balance

      Exposure Mode
      method
      method setExposureMode
      void setExposureMode(@NonNull ExposureMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.EXPOSURE_MODE
      Description:

      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.

      Input Parameters:
      @NonNull ExposureMode modeCamera exposure mode to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getExposureMode
      void getExposureMode(@NonNull final CompletionCallbackWith<ExposureMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.EXPOSURE_MODE
      Description:

      Gets the camera's exposure mode. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ExposureMode> callbackThe execution callback with the returned value(s).
      ISO
      method
      method setISO
      void setISO(@NonNull ISO iso, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ISO
      Description:

      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 isoThe 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 callbackThe execution callback with the returned execution result.
      method
      method getISO
      void getISO(@NonNull final CompletionCallbackWith<ISO> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ISO
      Description:

      Gets the camera's ISO value. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ISO> callbackThe execution callback with the returned value(s).
      Shutter Speed
      method
      method setShutterSpeed
      void setShutterSpeed(@NonNull ShutterSpeed shutterSpeed, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHUTTER_SPEED
      Description:

      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.

      Input Parameters:
      @NonNull ShutterSpeed shutterSpeedThe 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 callbackThe execution callback with the returned execution result.
      method getShutterSpeed
      void getShutterSpeed(@NonNull final CompletionCallbackWith<ShutterSpeed> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHUTTER_SPEED
      Description:

      Gets the camera's shutter speed. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ShutterSpeed> callbackThe execution callback with the returned value(s).
      method isAdjustableApertureSupported
      boolean isAdjustableApertureSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_ADJUSTABLE_APERTURE_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method setAperture
      void setAperture(@NonNull Aperture aperture, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.APERTURE
      Description:

      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.

      Input Parameters:
      @NonNull Aperture apertureThe aperture to set. Check enum CameraLensFocusMode in DJICameraSettingsDef.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getAperture
      void getAperture(@NonNull final CompletionCallbackWith<Aperture> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.APERTURE
      Description:

      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> callbackThe execution callback with the returned value(s).
      Exposure Metering
      method
      method setMeteringMode
      void setMeteringMode(@NonNull MeteringMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.METERING_MODE
      Description:

      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.

      Input Parameters:
      @NonNull MeteringMode modeExposure metering to be set. Check the enum MeteringMode to find all possible exposure metering the camera can be set to.
      @Nullable final CompletionCallback callbackThe execution callback with the execution result
      method getMeteringMode
      void getMeteringMode(@NonNull final CompletionCallbackWith<MeteringMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.METERING_MODE
      Description:

      Gets the camera's exposure metering. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<MeteringMode> callbackThe execution callback with the returned value(s).
      method setSpotMeteringTarget
      void setSpotMeteringTarget(@NonNull Point spotIndex, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SPOT_METERING_TARGET
      Description:

      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 spotIndexSpot 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 callbackThe execution callback with the returned execution result.
      method getSpotMeteringTarget
      void getSpotMeteringTarget(@NonNull final CompletionCallbackWith<Point> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SPOT_METERING_TARGET
      Description:

      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> callbackThe execution callback with the returned value(s).
      Exposure Compensation
      method
      method setExposureCompensation
      void setExposureCompensation(@NonNull ExposureCompensation compensation,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.EXPOSURE_COMPENSATION
      Description:

      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.

      Input Parameters:
      @NonNull ExposureCompensation compensationExposure compensation value to be set for the camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getExposureCompensation
      void getExposureCompensation(@NonNull final CompletionCallbackWith<ExposureCompensation> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.EXPOSURE_COMPENSATION
      Description:

      Gets the camera's exposure compensation. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ExposureCompensation> callbackThe execution callback with the returned value(s).
      Auto Exposure (AE)
      method
      method setAELock
      void setAELock(boolean isLocked, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AE_LOCK
      Description:

      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 isLockedtrue if the camera AE is locked, false if it is unlocked.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method
      method getAELock
      void getAELock(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AE_LOCK
      Description:

      Determines if the camera's AE (auto exposure) is locked. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      method setAutoAEUnlockEnabled
      void setAutoAEUnlockEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUTO_AE_UNLOCK_ENABLED
      Description:

      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 enabledtrue if the camera AE will automatically unlock.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getAutoAEUnlockEnabled
      void getAutoAEUnlockEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUTO_AE_UNLOCK_ENABLED
      Description:

      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> callbackThe execution callback with the returned value(s).
      Auto Exposure Bracketing (AEB)
      method
      method setPhotoAEBCount
      void setPhotoAEBCount(@NonNull PhotoAEBCount count, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_AEB_COUNT
      Description:

      Sets the camera's auto exposure bracketing (AEB) capture parameters.

      Input Parameters:
      @NonNull PhotoAEBCount countAEB capture count to be set for the camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPhotoAEBCount
      void getPhotoAEBCount(@NonNull final CompletionCallbackWith<PhotoAEBCount> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_AEB_COUNT
      Description:

      Gets the camera's AEB capture parameters.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoAEBCount> callbackThe execution callback with the returned value(s).
      White Balance & Color Temperature
      method
      method setWhiteBalance
      void setWhiteBalance(@NonNull WhiteBalance whiteBalance, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.WHITE_BALANCE
      Description:

      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.

      Input Parameters:
      @NonNull WhiteBalance whiteBalanceWhite balance value to be set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      See Also:

      WhiteBalancePreset to view all possible white balance setting options for the camera.

      method getWhiteBalance
      void getWhiteBalance(@NonNull final CompletionCallbackWith<WhiteBalance> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.WHITE_BALANCE
      Description:

      Gets the camera's white balance and color temperature. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<WhiteBalance> callbackThe execution callback with the returned value(s).


      Lens, Zoom & Focus

      method isInterchangeableLensSupported
      boolean isInterchangeableLensSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_INTERCHANGEABLE_LENS_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method getLensInformation
      void getLensInformation(@NonNull final CompletionCallbackWith<String> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.LENS_INFORMATION
      Description:

      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> callbackThe execution callback with the returned value(s).
      method isDigitalZoomSupported
      boolean isDigitalZoomSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_DIGITAL_ZOOM_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method setDigitalZoomFactor
      void setDigitalZoomFactor(@FloatRange(from = 1.0, to = 2.0) float factor,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.DIGITAL_ZOOM_FACTOR
      Description:

      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 factorThe valid range is from 1.0 to 4.0.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getDigitalZoomFactor
      void getDigitalZoomFactor(@NonNull final CompletionCallbackWith<Float> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.DIGITAL_ZOOM_FACTOR
      Description:

      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> callbackThe execution callback with the returned value(s).
      method isOpticalZoomSupported
      boolean isOpticalZoomSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_OPTICAL_ZOOM_SUPPORTED
      Description:

      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.

      Return:
      booleantrue if camera supports optical zoom.
      method getOpticalZoomSpec
      void getOpticalZoomSpec(@NonNull final CompletionCallbackWith<OpticalZoomSpec> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.OPTICAL_ZOOM_SPEC
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setOpticalZoomFocalLength
      void setOpticalZoomFocalLength(int focalLength, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.OPTICAL_ZOOM_FOCAL_LENGTH
      Description:

      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.

      Input Parameters:
      int focalLengthFocal length of zoom lens. Valid range is [getMinFocalLength, getMaxFocalLength] and must be a multiple of getFocalLengthStep.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getOpticalZoomFocalLength
      void getOpticalZoomFocalLength(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.OPTICAL_ZOOM_FOCAL_LENGTH
      Description:

      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> callbackThe execution callback with the returned value(s).
      method getOpticalZoomFactor
      void getOpticalZoomFactor(@NonNull final CompletionCallbackWith<Float> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.OPTICAL_ZOOM_SCALE
      Description:

      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> callbackThe execution callback with the returned value(s).
      method startContinuousOpticalZoom
      void startContinuousOpticalZoom(@NonNull ZoomDirection direction,
      @NonNull final ZoomSpeed speed,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.START_CONTINUOUS_OPTICAL_ZOOM
      Description:

      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.

      Input Parameters:
      @NonNull ZoomDirection directionDirection to zoom.
      @NonNull final ZoomSpeed speedZoom speed.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method stopContinuousOpticalZoom
      void stopContinuousOpticalZoom(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.STOP_CONTINUOUS_OPTICAL_ZOOM
      Description:

      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 callbackThe execution callback with the returned execution result.
      method isTapZoomSupported
      boolean isTapZoomSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_TAP_ZOOM_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method setTapZoomEnabled
      void setTapZoomEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TAP_ZOOM_ENABLED
      Description:

      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 enabledThe execution callback with the returned execution result.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getTapZoomEnabled
      void getTapZoomEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TAP_ZOOM_ENABLED
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setTapZoomMultiplier
      void setTapZoomMultiplier(@IntRange(from = 1, to = 5) int multiplier,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TAP_ZOOM_MULTIPLIER
      Description:

      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 multiplierMultiplier of TapZoom.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getTapZoomMultiplier
      void getTapZoomMultiplier(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TAP_ZOOM_MULTIPLIER
      Description:

      Gets the multiplier for TapZoom. 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<Integer> callbackThe execution callback with the returned value(s).
      method tapZoomAtTarget
      void tapZoomAtTarget(@NonNull PointF target, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TAP_ZOOM_AT_TARGET
      Description:

      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 targetThe 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 callbackThe execution callback with the returned execution result.
      HybridZoom
      method
      method isHybridZoomSupported
      boolean isHybridZoomSupported()
      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. 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.

      Return:
      booleantrue if camera supports hybrid zoom.
      Hybrid Zoom Spec
      method
      method getHybridZoomSpec
      void getHybridZoomSpec(@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> callbackThe execution callback with the returned value(s).
      Hybrid Zoom Focal Length
      method
      method setHybridZoomFocalLength
      void setHybridZoomFocalLength(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.

      Input Parameters:
      int focalLengthFocal length of zoom lens. Valid range is [getMinHybridFocalLength, getMaxHybridFocalLength] and must be a multiple of getFocalLengthStep.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getHybridZoomFocalLength
      void getHybridZoomFocalLength(@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> callbackThe execution callback with the returned value(s).
      Tap Zoom State
      method
      method setTapZoomStateCallback
      void setTapZoomStateCallback(@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 callbackCompletion callback that receives the execution result.
      method isAdjustableFocalPointSupported
      boolean isAdjustableFocalPointSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_ADJUSTABLE_FOCAL_POINT_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method setFocusMode
      void setFocusMode(@NonNull SettingsDefinitions.FocusMode focusMode,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_MODE
      Description:

      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.

      Input Parameters:
      @NonNull SettingsDefinitions.FocusMode focusModeFocus mode to set. Check FocusMode for more detail.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getFocusMode
      void getFocusMode(@NonNull final CompletionCallbackWith<FocusMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_MODE
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setFocusTarget
      void setFocusTarget(@NonNull PointF focusTarget, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_TARGET
      Description:

      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 focusTargetThe 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 callbackThe execution callback with the returned execution result.
      method getFocusTarget
      void getFocusTarget(@NonNull final CompletionCallbackWith<PointF> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_TARGET
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setFocusAssistantSettings
      void setFocusAssistantSettings(FocusAssistantSettings settings,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_ASSISTANT_SETTINGS
      Description:

      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.

      Input Parameters:
      FocusAssistantSettings settingsSets whether the lens focus assistant for AF and MF mode is enabled.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getFocusAssistantSettings
      void getFocusAssistantSettings(@NonNull final CompletionCallbackWithTwoParam<Boolean, Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_ASSISTANT_SETTINGS
      Description:

      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> callbackThe execution callback with the returned value(s).
      method getFocusRingValueUpperBound
      void getFocusRingValueUpperBound(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_RING_VALUE_UPPER_BOUND
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setFocusRingValue
      void setFocusRingValue(@IntRange(from = 0) int value, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_RING_VALUE
      Description:

      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 valueValue 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 callbackThe execution callback with the returned execution result.
      method getFocusRingValue
      void getFocusRingValue(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FOCUS_RING_VALUE
      Description:

      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> callbackThe execution callback with the returned value(s).


      Liveview Location

      method getLiveviewLocationWithGPS
      void getLiveviewLocationWithGPS(@NonNull LocationCoordinate3D pointPos, @NonNull PhysicalSource physicalSource, @NonNull CommonCallbacks.CompletionCallbackWith<PinPointInfo> callback)
      Package:dji.sdk.camera
      Description:

      Gets the PinPoint information with GPS which is used to show PinPoint in the liveview. Supported by Zenmuse H20 Series.

      Input Parameters:
      @NonNull LocationCoordinate3D pointPosThe GPS location, you could get the location from getTargetLocation or get the location with map.
      @NonNull PhysicalSource physicalSourceThe physical source of a video feed.
      @NonNull CommonCallbacks.CompletionCallbackWith<PinPointInfo> callbackThe execution callback with the returned value(s).


      LinkZoom

      method setLinkZoomEnabled
      void setLinkZoomEnabled(@NonNull boolean enabled, @NonNull CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @NonNull boolean enabledTrue to enable link zoom.
      @NonNull CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getLinkZoomEnabled
      void getLinkZoomEnabled(CommonCallbacks.CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Gets the link zoom status. Supported by Zenmuse H20 Series.

      Input Parameters:
      CommonCallbacks.CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Settings

      Factory Settings
      method
      method restoreFactorySettings
      void restoreFactorySettings(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.RESTORE_FACTORY_SETTINGS
      Description:

      Load the camera's factory settings.
      Post condition: The camera will reboot itself.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      Custom Settings
      method
      method saveSettingsToProfile
      void saveSettingsToProfile(@NonNull CustomSettingsProfile profile,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SAVE_SETTINGS_TO_PROFILE
      Description:

      Saves the current camera settings permanently to the specified profile. See CustomSettingsProfile to view all possible camera users.

      Input Parameters:
      @NonNull CustomSettingsProfile profileCamera profile for which to store camera settings.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method loadSettingsFromProfile
      void loadSettingsFromProfile(@NonNull CustomSettingsProfile profile, final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.LOAD_SETTINGS_FROM_PROFILE
      Description:

      Load camera settings from the specified user.
      Post condition:
      The camera will reboot itself.

      Input Parameters:
      @NonNull CustomSettingsProfile profileCamera profile to load camera settings from.
      final CompletionCallback callbackThe execution callback with the returned execution result.


      Photo Settings

      Aspect Ratio
      method
      method setPhotoAspectRatio
      void setPhotoAspectRatio(@NonNull PhotoAspectRatio aspectRatio,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_ASPECT_RATIO
      Description:

      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.

      Input Parameters:
      @NonNull PhotoAspectRatio aspectRatioAspect ratio for photos to be taken by camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPhotoAspectRatio
      void getPhotoAspectRatio(@NonNull final CompletionCallbackWith<PhotoAspectRatio> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_ASPECT_RATIO
      Description:

      Gets the camera's aspect ratio for photos. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoAspectRatio> callbackThe execution callback with the returned value(s).
      File Format
      method
      method setPhotoFileFormat
      void setPhotoFileFormat(@NonNull PhotoFileFormat format, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_FILE_FORMAT
      Description:

      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.

      Input Parameters:
      @NonNull PhotoFileFormat formatPhoto file format used when the camera takes a photo. Check the enum PhotoFileFormat to find all possible photo formats the camera can be set to.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPhotoFileFormat
      void getPhotoFileFormat(@NonNull final CompletionCallbackWith<PhotoFileFormat> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_FILE_FORMAT
      Description:

      Gets the camera's photo file format. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoFileFormat> callbackThe execution callback with the returned value(s).
      Burst Count
      method
      method setPhotoBurstCount
      void setPhotoBurstCount(@NonNull PhotoBurstCount count, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_BURST_COUNT
      Description:

      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.

      Input Parameters:
      @NonNull PhotoBurstCount countThe 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 callbackThe execution callback with the returned execution result.
      method getPhotoBurstCount
      void getPhotoBurstCount(@NonNull final CompletionCallbackWith<PhotoBurstCount> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_BURST_COUNT
      Description:

      Gets the burst count type.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoBurstCount> callbackThe execution callback with the returned value(s).
      RAW Burst Count
      method
      method setPhotoRAWBurstCount
      void setPhotoRAWBurstCount(@NonNull PhotoBurstCount count, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_RAW_BURST_COUNT
      Description:

      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.

      Input Parameters:
      @NonNull PhotoBurstCount countThe number of photos to take in one RAW burst shoot.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getPhotoRAWBurstCount
      void getPhotoRAWBurstCount(@NonNull final CompletionCallbackWith<PhotoBurstCount> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_RAW_BURST_COUNT
      Description:

      Gets the RAW image burst count. It is only supported Inspire 2.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoBurstCount> callbackThe execution callback with the returned value(s).
      method setPhotoTimeIntervalSettings
      void setPhotoTimeIntervalSettings(@NonNull PhotoTimeIntervalSettings settings,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_TIME_INTERVAL_SETTINGS
      Description:

      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.

      Input Parameters:
      @NonNull PhotoTimeIntervalSettings settingsAn instance of PhotoTimeIntervalSettings.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPhotoTimeIntervalSettings
      void getPhotoTimeIntervalSettings(
      @NonNull final CompletionCallbackWith<PhotoTimeIntervalSettings> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_TIME_INTERVAL_SETTINGS
      Description:

      Gets the camera's interval shoot parameters.

      Also supported by thermal imaging camera.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoTimeIntervalSettings> callbackThe execution callback with the returned value(s).
      method setPhotoTimeLapseSettings
      void setPhotoTimeLapseSettings(@NonNull PhotoTimeLapseSettings settings,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_TIME_LAPSE_SETTINGS
      Description:

      Sets the TimeLapse parameters, including interval, duration and file format when saving. Precondition: Camera should be in TIME_LAPSE mode of ShootPhotoMode.

      Input Parameters:
      @NonNull PhotoTimeLapseSettings settingsThe 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 callbackThe execution block with the returned execution result.
      method getPhotoTimeLapseSettings
      void getPhotoTimeLapseSettings(@NonNull final CompletionCallbackWith<PhotoTimeLapseSettings> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_TIME_LAPSE_SETTINGS
      Description:

      Gets the TimeLapse parameters including interval, duration and file format when saving. Precondition: The camera must be in TIME_LAPSE mode of ShootPhotoMode.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoTimeLapseSettings> callbackThe execution callback with the returned value(s).
      Panorama Mode
      method
      method setPhotoPanoramaMode
      void setPhotoPanoramaMode(@NonNull PhotoPanoramaMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_PANORAMA_MODE
      Description:

      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.

      Input Parameters:
      @NonNull PhotoPanoramaMode modeThe panorama mode to set.
      @Nullable final CompletionCallback callbackcompletion callback to receive the result.
      method getPhotoPanoramaMode
      void getPhotoPanoramaMode(@NonNull final CompletionCallbackWith<PhotoPanoramaMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_PANORAMA_MODE
      Description:

      Gets the panorama mode. It is supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.

      Input Parameters:
      @NonNull final CompletionCallbackWith<PhotoPanoramaMode> callbackcompletion callback to receive the result.
      Panorama Photo Settings
      method
      method setPanoOriginalPhotoSettings
      void setPanoOriginalPhotoSettings(@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.

      Input Parameters:
      @NonNull OriginalPhotoSettings settingsAn object of OriginalPhotoSettings.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPanoOriginalPhotoSettings
      void getPanoOriginalPhotoSettings(
      @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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<OriginalPhotoSettings> callbackThe execution callback with the returned execution result.
      High Quality Preview
      method
      method setHighQualityPreviewEnabled
      void setHighQualityPreviewEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Enables this before photo capture to download high quality preview image. Only supported by Phantom 4 RTK.

      Input Parameters:
      boolean enabledtrue to enable the feature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getHighQualityPreviewEnabled
      void getHighQualityPreviewEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Gets if high quality preview image downloading is enabled. Only supported by Phantom 4 RTK.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Video Settings

      Resolution & Frame Rate
      method
      method setVideoResolutionAndFrameRate
      void setVideoResolutionAndFrameRate(@NonNull ResolutionAndFrameRate resolutionAndFrameRate,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.RESOLUTION_FRAME_RATE
      Description:

      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:

      NTSC:
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_30fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_30fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_120fps (Slow Motion)
      Resolution_1920x1080, FrameRate_60fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_30fps
      Resolution_1920x1080, FrameRate_24fps
      Resolution_1280x720, FrameRate_60fps
      Resolution_1280x720, FrameRate_48fps
      Resolution_1280x720, FrameRate_30fps
      Resolution_1280x720, FrameRate_24fps

      PAL:
      Resolution_4096x2160, FrameRate_25fps
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_25fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_25fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_120fps (Slow Motion)
      Resolution_1920x1080, FrameRate_50fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_25fps
      Resolution_1920x1080, FrameRate_24fps
      Resolution_1280x720, FrameRate_50fps
      Resolution_1280x720, FrameRate_48fps
      Resolution_1280x720, FrameRate_25fps
      Resolution_1280x720, FrameRate_24fps For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull ResolutionAndFrameRate resolutionAndFrameRateResolution to be set for the video.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getVideoResolutionAndFrameRate
      void getVideoResolutionAndFrameRate(
      @NonNull final CompletionCallbackWith<ResolutionAndFrameRate> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.RESOLUTION_FRAME_RATE
      Description:

      Gets the camera's video resolution and frame rate values. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ResolutionAndFrameRate> callbackThe execution callback with the returned value(s).
      File Format
      method
      method setVideoFileFormat
      void setVideoFileFormat(@NonNull VideoFileFormat format, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_FILE_FORMAT
      Description:

      Sets the camera's video file format. The default value is MOV. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull VideoFileFormat formatVideo file format to be set for videos.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getVideoFileFormat
      void getVideoFileFormat(@NonNull final CompletionCallbackWith<VideoFileFormat> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_FILE_FORMAT
      Description:

      Gets the camera's video file format. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<VideoFileFormat> callbackThe execution callback with the returned value(s).
      Analog Standard
      method
      method setVideoStandard
      void setVideoStandard(@NonNull VideoStandard videoStandard, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_STANDARD
      Description:

      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.

      Input Parameters:
      @NonNull VideoStandard videoStandardVideo standard value to be set for the camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getVideoStandard
      void getVideoStandard(@NonNull final CompletionCallbackWith<VideoStandard> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_STANDARD
      Description:

      Gets the camera's video standard value.

      Input Parameters:
      @NonNull final CompletionCallbackWith<VideoStandard> callbackThe execution callback with the returned value(s).
      method setVideoCaptionEnabled
      void setVideoCaptionEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_CAPTION_ENABLED
      Description:

      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 enabledtrue to enable video caption.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getVideoCaptionEnabled
      void getVideoCaptionEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_CAPTION_ENABLED
      Description:

      Gets whether the video caption is enabled.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      Histogram
      method
      method setHistogramEnabled
      void setHistogramEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.HISTOGRAM_ENABLED
      Description:

      Enables the histogram.

      Input Parameters:
      boolean enabledTrue to enable histogram.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getHistogramEnabled
      void getHistogramEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.HISTOGRAM_ENABLED
      Description:

      Gets whether the histogram is enabled.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      method setVideoFileCompressionStandard
      void setVideoFileCompressionStandard(@NonNull VideoFileCompressionStandard standard,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_FILE_COMPRESSION_STANDARD
      Description:

      Sets the video file compression standard. It is only supported X4S camera, X5S camera and Phantom 4 Pro. For all other products, H.264 is used.

      Input Parameters:
      @NonNull VideoFileCompressionStandard standardThe compression standard to use.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getVideoFileCompressionStandard
      void getVideoFileCompressionStandard(
      @NonNull final CompletionCallbackWith<VideoFileCompressionStandard> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VIDEO_FILE_COMPRESSION_STANDARD
      Description:

      Gets the video file compression standard. It is only supported X4S camera, X5S camera and Phantom 4 Pro.

      Input Parameters:
      @NonNull final CompletionCallbackWith<VideoFileCompressionStandard> callbackThe execution callback with the returned value(s).
      method setSSDVideoRecordingEnabled
      void setSSDVideoRecordingEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_VIDEO_RECORDING_ENABLED
      Description:

      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 enabledtrue to enable the RAW video recording.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getSSDVideoRecordingEnabled
      void getSSDVideoRecordingEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_VIDEO_RECORDING_ENABLED
      Description:

      Determines whether the recording of RAW video is enabled. It is supported by X5S.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      SSD RAW Resolution and Frame Rate
      method
      method setSSDVideoResolutionAndFrameRate
      void setSSDVideoResolutionAndFrameRate(@NonNull ResolutionAndFrameRate resolutionAndFrameRate,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_VIDEO_RESOLUTION_AND_FRAME_RATE
      Description:

      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:

      NTSC:
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_30fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_2704X1520, FrameRate_30fps
      Resolution_1920x1080, FrameRate_60fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_30fps
      Resolution_1920x1080, FrameRate_24fps



      PAL:
      Resolution_4096x2160, FrameRate_25fps
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_25fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_25fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_50fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_25fps
      Resolution_1920x1080, FrameRate_24fps

      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.

      Input Parameters:
      @NonNull ResolutionAndFrameRate resolutionAndFrameRateResolution and frame rate to be set for the video.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getSSDVideoResolutionAndFrameRate
      void getSSDVideoResolutionAndFrameRate(
      @NonNull final CompletionCallbackWith<ResolutionAndFrameRate> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_VIDEO_RESOLUTION_AND_FRAME_RATE
      Description:

      Get Raw Video Format and Frame Rate of the SSD.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ResolutionAndFrameRate> callbackThe execution callback with the returned value(s).
      SSD RAW Filter
      method
      method setSSDLegacyColor
      void setSSDLegacyColor(@NonNull SettingsDefinitions.SSDLegacyColor color,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_LEGACY_COLOR
      Description:

      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.

      Input Parameters:
      @NonNull SettingsDefinitions.SSDLegacyColor colorSSD legacy color to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getSSDLegacyColor
      void getSSDLegacyColor(@NonNull final CompletionCallbackWith<SSDLegacyColor> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_LEGACY_COLOR
      Description:

      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> callbackThe execution callback with the returned value(s).
      SSD Color
      method
      method setSSDColor
      void setSSDColor(final SettingsDefinitions.SSDColor color, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the color for videos that will be stored in SSD. It is only applied when the selected license key is either LicenseKeyTypeProRes422HQ or LicenseKeyTypeProRes4444XQ. For LicenseKeyTypeCinemaDNG, the color is always RAW_COLOR. It is only supported Inspire 2 with the firmware package version (getFirmwarePackageVersion) 01.0.0240 or later. For older firmware package versions, use setSSDLegacyColor instead.

      Input Parameters:
      final SettingsDefinitions.SSDColor colorVideo color to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getSSDColor
      void getSSDColor(@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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.SSDColor> callbackThe execution callback with the returned SSDColor enum value.
      SSD RAW License
      method
      method getSSDVideoLicenses
      void getSSDVideoLicenses(@NonNull final CompletionCallbackWith<CameraSSDVideoLicense[]> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SSD_VIDEO_LICENSES
      Description:

      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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<CameraSSDVideoLicense[]> callbackThe execution callback with the returned value(s).
      method activateSSDVideoLicense
      void activateSSDVideoLicense(@NonNull CameraSSDVideoLicense license,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ACTIVATE_SSD_VIDEO_LICENSE
      Description:

      Sets the SSD video license to be used. If an unpurchased license is selected then only SD video will be recorded.

      Input Parameters:
      @NonNull CameraSSDVideoLicense licenseLicense to used.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getSSDVideoLicense
      void getSSDVideoLicense(@NonNull final CompletionCallbackWith<CameraSSDVideoLicense> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ACTIVATE_SSD_VIDEO_LICENSE
      Description:

      Gets the license key being used. It is supported by Inspire 2.

      Input Parameters:
      @NonNull final CompletionCallbackWith<CameraSSDVideoLicense> callbackThe execution callback with the returned value(s).


      Auto Lock Gimbal

      method setAutoLockGimbalEnabled
      void setAutoLockGimbalEnabled(final boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Enables this to lock the gimbal when the camera is shooting a photo. The gimbal will keep the attitude when starting to shoot the photo.

      Input Parameters:
      final boolean enabledtrue to enable the feature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getAutoLockGimbalEnabled
      void getAutoLockGimbalEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Determines whether the gimbal will be locked automatically during shooting photos.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Watermark Settings

      method setWatermarkSettings
      void setWatermarkSettings(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.

      Input Parameters:
      WatermarkSettings configThe watermark configuration to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getWatermarkSettings
      void getWatermarkSettings(@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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<WatermarkSettings> callbackThe execution callback with the returned value(s).


      Storage Settings

      Custom Expand Directory Name
      method
      method setCustomExpandDirectoryName
      void setCustomExpandDirectoryName(@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 nameCustom directory name to set.
      @Nullable final CompletionCallback callbackThe completion callback that receives the execution result.
      method getCustomExpandDirectoryName
      void getCustomExpandDirectoryName(@NonNull final CompletionCallbackWith<String> callback)
      Package:dji.sdk.camera
      Description:

      Gets custom expand directory name. Only Supported by Zenmuse P1, Zenmuse L1, Zenmuse H20 Series.

      Input Parameters:
      @NonNull final CompletionCallbackWith<String> callbackThe completion callback that receives the execution result.
      Custom Expand File Name
      method
      method setCustomExpandFileName
      void setCustomExpandFileName(@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 nameCustom file name to set.
      @Nullable final CompletionCallback callbackThe completion callback that receives the execution result.
      method getCustomExpandFileName
      void getCustomExpandFileName(@NonNull final CompletionCallbackWith<String> callback)
      Package:dji.sdk.camera
      Description:

      Gets custom expand file name. Only Supported by Zenmuse P1, Zenmuse H20 Series.

      Input Parameters:
      @NonNull final CompletionCallbackWith<String> callbackThe completion callback that receives the execution result.
      File Index Mode
      method
      method setFileIndexMode
      void setFileIndexMode(@NonNull FileIndexMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FILE_INDEX_MODE
      Description:

      Sets the camera's file index mode for the SD card. The default value of FileIndexMode is set to RESET.

      Input Parameters:
      @NonNull FileIndexMode modeFile index mode to be set for the camera's SD card. The default value of CameraFileIndexMode is set to Reset.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getFileIndexMode
      void getFileIndexMode(@NonNull final CompletionCallbackWith<FileIndexMode> callback)
      Package:dji.sdk.camera
      Description:

      Gets the camera's file index mode.

      Input Parameters:
      @NonNull final CompletionCallbackWith<FileIndexMode> callbackThe execution callback with the returned value(s).
      SD Card
      method
      method formatSDCard
      void formatSDCard(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FORMAT_SD_CARD
      Description:

      Formats the SD card by deleting all the data on the SD card. This does not change any settings the user may have set on the SD card.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Storage
      method
      method formatStorage
      void formatStorage(@NonNull SettingsDefinitions.StorageLocation storage, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Formats the storage by deleting all the data on it. It is supported by Mavic 2 series, Mavic 2 enterprise series, Mavic air and Matrice 200 V2 series.

      Input Parameters:
      @NonNull SettingsDefinitions.StorageLocation storageThe storage (either SD card or the internal storage) to format. When it is SDCARD, this interface has the same effect as formatSDCard.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method isSSDSupported
      boolean isSSDSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_SSD_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method
      method formatSSD
      void formatSSD(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.FORMAT_SSD
      Description:

      Formats the SSD by deleting all the data on the SSD. This does not change any settings the user may have set on the SSD.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.


      Laser Sensor

      Enable Laser
      method
      method setLaserEnabled
      void setLaserEnabled(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.

      Input Parameters:
      boolean enabledtrue to enable video caption.
      @Nullable final CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getLaserEnabled
      void getLaserEnabled(@NonNull final CommonCallbacks.CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Gets whether the laser is enabled. The laser sensor must be at least 3m from the target point. It is only supported for Zenmuse H20 series.

      Input Parameters:
      @NonNull final CommonCallbacks.CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Misc Settings

      Anti-Flicker
      method
      method setAntiFlickerFrequency
      void setAntiFlickerFrequency(@NonNull AntiFlickerFrequency antiFlickerFrequency,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ANTI_FLICKER_FREQUENCY
      Description:

      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.

      Input Parameters:
      @NonNull AntiFlickerFrequency antiFlickerFrequencyAnti-flicker value to set for the camera. See AntiFlickerFrequency to view all the possible anti-flicker type settings for the camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getAntiFlickerFrequency
      void getAntiFlickerFrequency(@NonNull final CompletionCallbackWith<AntiFlickerFrequency> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ANTI_FLICKER_FREQUENCY
      Description:

      Gets the camera's anti-flicker. It is not supported by Zenmuse H20 Series.

      Input Parameters:
      @NonNull final CompletionCallbackWith<AntiFlickerFrequency> callbackThe execution callback with the returned value(s).
      Sharpness
      method
      method setSharpness
      void setSharpness(@IntRange(from = -3, to = 3) int sharpness, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHARPNESS
      Description:

      Sets the camera's sharpness. The default value is 0. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @IntRange(from = -3, to = 3) int sharpnessSharpness value to be set in the range of [-3, 3].
      @Nullable final CompletionCallback callbackAsynchronous execution result.
      method getSharpness
      void getSharpness(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SHARPNESS
      Description:

      Gets the camera's sharpness. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value of sharpness with range [-3, 3].
      Contrast
      method
      method setContrast
      void setContrast(@IntRange(from = -3, to = 3) int contrast, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CONTRAST
      Description:

      Sets the camera's contrast. The default saturation value is 0. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @IntRange(from = -3, to = 3) int contrastContrast value to be set in the range of [-3, 3].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getContrast
      void getContrast(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CONTRAST
      Description:

      Gets the camera's contrast. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value of contrast with range [-3, 3].
      method setDefogEnabled
      void setDefogEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.DEFOG_ENABLED
      Description:

      Enable/disable defog feature. When defog feature is enabled, the contrast will be enhanced extraordinarily. It is only supported Z30.

      Input Parameters:
      boolean enabledtrue to enable defog feature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned value(s).
      method getDefogEnabled
      void getDefogEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.DEFOG_ENABLED
      Description:

      Determines whether defog feature is enabled. It is only supported by Z30 camera.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      IR Filter
      method
      method setIRFilterEnabled
      void setIRFilterEnabled(final boolean 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 enabledtrue to enable IR-Cut filter.
      @Nullable final CompletionCallback callbackThe execution callback that receives the setter result.
      method getIRFilterEnabled
      void getIRFilterEnabled(@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> callbackThe execution callback with the returned value(s).
      Saturation
      method
      method setSaturation
      void setSaturation(@IntRange(from = -3, to = 3) int saturation,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SATURATION
      Description:

      Sets the camera's saturation. The default saturation value is 0. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @IntRange(from = -3, to = 3) int saturationSaturation value to be set in the range of [-3, 3]. The default value of the saturation value is 0.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getSaturation
      void getSaturation(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.SATURATION
      Description:

      Gets the camera's saturation. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value(s).
      Digital Filter
      method
      method setColor
      void setColor(@NonNull CameraColor color, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CAMERA_COLOR
      Description:

      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.

      Input Parameters:
      @NonNull CameraColor colorCamera color to be applied to the camera.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method
      method getColor
      void getColor(@NonNull final CompletionCallbackWith<SettingsDefinitions.CameraColor> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CAMERA_COLOR
      Description:

      Gets the camera's color. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.CameraColor> callbackThe execution callback with the returned value(s).
      Camera Orientation
      method
      method setOrientation
      void setOrientation(@NonNull Orientation orientation, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ORIENTATION
      Description:

      Sets the camera's orientation. The gimbal will rotate the roll axis based on the orientation. Supported only by Mavic Pro.

      Input Parameters:
      @NonNull Orientation orientationCamera's orientation.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getOrientation
      void getOrientation(@NonNull final CompletionCallbackWith<Orientation> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.ORIENTATION
      Description:

      Gets the camera's orientation. Supported only by Mavic Pro.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Orientation> callbackThe execution callback with the returned value(s).
      Vision Stabilization
      method
      method setVisionStabilizationEnabled
      void setVisionStabilizationEnabled(final boolean enable, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VISION_STABILIZATION_ENABLED
      Description:

      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.

      Input Parameters:
      final boolean enabletrue to enable the vision stabilization.
      @Nullable final CompletionCallback callbackcompletion callback to receive the result.
      method getVisionStabilizationEnabled
      void getVisionStabilizationEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.VISION_STABILIZATION_ENABLED
      Description:

      Determines whether vision stabilization is enabled. It is only supported Z30 on M200 series.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackcompletion callback to receive the result.
      Media File Custom Info
      method
      method setMediaFileCustomInformation
      void setMediaFileCustomInformation(@NonNull String information, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CUSTOM_INFORMATION
      Description:

      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 informationCustom information to set. Use UTF-8 encoding with a length equal to or less than 31 characters.
      @Nullable final CompletionCallback callbackThe execution callback to receive the result.
      method getMediaFileCustomInformation
      void getMediaFileCustomInformation(@NonNull final CompletionCallbackWith<String> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.CUSTOM_INFORMATION
      Description:

      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> callbackThe execution callback to receive the result.
      Video Dewarping Enabled
      method
      method setDewarpingEnabled
      void setDewarpingEnabled(final boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Enables/disables dewarping (lens distortion correction) for video recorded to SD card. Supported by Phantom 4 Pro camera, X4S, X5S and X7.

      Input Parameters:
      final boolean enabledtrue to enable video dewarping.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getDewarpingEnabled
      void getDewarpingEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Determines whether dewarping (lens distortion correction) is enabled. Supported by Phantom 4 Pro camera, X4S, X5S and X7.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned Boolean value(s).
      Sensor Cleaning Mode
      method
      method initSensorCleaningMode
      void initSensorCleaningMode(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Initiates the sensor cleaning mode. Calling this will change getSensorCleaningState from IDLE to INITIATING. To start the sensor dedusting operation, the workflow should be:
      1. Call initSensorCleaningMode.
      2. Remove the lens from the camera.
      3. Call startSensorCleaning.
      4. When getSensorCleaningState becomes WAITING_FOR_LENS_REMOUNT, mount the lens back to the camera.

      It is only supported Zenmuse X7.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method startSensorCleaning
      void startSensorCleaning(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Starts cleaning the sensor. The sensor cleaning should only be started when the lens is removed from the camera. It is only supported Zenmuse X7.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method exitSensorCleaningMode
      void exitSensorCleaningMode(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Exits sensor cleaning mode. Calling this will stop the current executing operation and change getSensorCleaningState to IDLE.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      EI Mode
      method
      method isEIModeSupported
      boolean isEIModeSupported()
      Package:dji.sdk.camera
      Description:

      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:
      booleantrue if the EI mode is supported, otherwise false.
      method setExposureSensitivityMode
      void setExposureSensitivityMode(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.

      Input Parameters:
      final SettingsDefinitions.ExposureSensitivityMode modeThe exposure sensitivity mode to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getExposureSensitivityMode
      void getExposureSensitivityMode(@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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.ExposureSensitivityMode> callbackThe execution callback with the returned ExposureSensitivityMode enum value.
      method
      method setEI
      void setEI(final int 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 eiThe EI value to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method
      method getEI
      void getEI(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      Description:

      Gets EI value. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned integer value.
      method getRecommendedEI
      void getRecommendedEI(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      Description:

      Gets the EI value recommended by the camera. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned Integer value.
      method getEIRange
      void getEIRange(@NonNull final CompletionCallbackWith<int[]> callback)
      Package:dji.sdk.camera
      Description:

      Gets the valid range of EI values. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      @NonNull final CompletionCallbackWith<int[]> callbackThe execution callback with the returned int value.
      method setEIColor
      void setEIColor(final SettingsDefinitions.EIColor color, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the camera color for EI mode. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      final SettingsDefinitions.EIColor colorThe camera color to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getEIColor
      void getEIColor(@NonNull final CompletionCallbackWith<SettingsDefinitions.EIColor> callback)
      Package:dji.sdk.camera
      Description:

      Gets the camera color for EI mode. It is only valid when exposure sensitivity mode is EI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.EIColor> callbackThe execution callback with the returned EIColor enum value.
      Mechanical Shutter Speed
      method
      method isMechanicalShutterSupported
      boolean isMechanicalShutterSupported()
      Package:dji.sdk.camera
      Description:

      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:
      booleantrue if the mechanical shutter is supported, otherwise false.
      method setMechanicalShutterEnabled
      void setMechanicalShutterEnabled(final boolean 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 enabledtrue to enable the mechanical shutter.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getMechanicalShutterEnabled
      void getMechanicalShutterEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Determines whether the mechanical shutter is enabled. It is only valid when isMechanicalShutterSupported returns true.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned boolean value.
      ND Filter Mode
      method
      method isNDFilterModeSupported
      boolean isNDFilterModeSupported()
      Package:dji.sdk.camera
      Description:

      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:
      booleantrue if the ND filter mode is supported, otherwise false.
      method setNDFilterMode
      void setNDFilterMode(final SettingsDefinitions.NDFilterMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Sets the mode of ND filter. It is only valid when isNDFilterModeSupported returns true.

      Input Parameters:
      final SettingsDefinitions.NDFilterMode modeThe ND filter mode to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getNDFilterMode
      void getNDFilterMode(@NonNull final CompletionCallbackWith<SettingsDefinitions.NDFilterMode> callback)
      Package:dji.sdk.camera
      Description:

      Gets the ND filter mode. It is only valid when isNDFilterModeSupported returns true.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.NDFilterMode> callbackThe execution callback with the returned NDFilterMode enum value.
      Clip File Name
      method
      method setSSDClipFileName
      void setSSDClipFileName(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.

      Input Parameters:
      final SettingsDefinitions.SSDClipFileName nameThe clip name to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getSSDClipFileName
      void getSSDClipFileName(@NonNull final CompletionCallbackWith<SettingsDefinitions.SSDClipFileName> callback)
      Package:dji.sdk.camera
      Description:

      Gets the clip name for video to be stored in SSD. It is only supported by Inspire 2.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.SSDClipFileName> callbackThe execution callback with the returned SSDClipFileName class.
      method isPhotoQuickViewSupported
      boolean isPhotoQuickViewSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_PHOTO_QUICK_VIEW_SUPPORTED
      Description:

      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.

      Return:
      booleanA boolean value.
      method setPhotoQuickViewDuration
      void setPhotoQuickViewDuration(@IntRange(from = 0, to = 10) int duration,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_QUICK_VIEW_DURATION
      Description:

      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 durationQuick 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 callbackThe execution callback with the returned execution result.
      method getPhotoQuickViewDuration
      void getPhotoQuickViewDuration(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.PHOTO_QUICK_VIEW_DURATION
      Description:

      Gets the camera's quick view duration.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value(s).
      HD Live View
      method
      method setHDLiveViewEnabled
      void setHDLiveViewEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.HD_LIVE_VIEW_ENABLED
      Description:

      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 enabledEnable or disable HD live view.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getHDLiveViewEnabled
      void getHDLiveViewEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.HD_LIVE_VIEW_ENABLED
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setLEDAutoTurnOffEnabled
      void setLEDAutoTurnOffEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.LED_AUTO_TURN_OFF_ENABLED
      Description:

      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 enabledEnable the automatic control of the front-arm LEDs.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getLEDAutoTurnOffEnabled
      void getLEDAutoTurnOffEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.LED_AUTO_TURN_OFF_ENABLED
      Description:

      Determines whether the automatic control of the front-arm LEDs is Enabled. Supported only by Mavic Pro, Mavic Air, and Mavic 2 series.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      method setBeaconAutoTurnOffEnabled
      void setBeaconAutoTurnOffEnabled(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 enabledEnable the automatic control of the beacon.
      @NonNull final CompletionCallback callbackThe execution callback with the returned value(s).
      method getBeaconAutoTurnOffEnabled
      void getBeaconAutoTurnOffEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Determines whether the automatic control of the beacon is Enabled. Only Supported by M200 series v2 and Zenmuse H20 Series mounted on Matrice 300 RTK.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Storage Location

      method isInternalStorageSupported
      boolean isInternalStorageSupported()
      Package:dji.sdk.camera
      Description:

      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.

      Return:
      booleantrue if internal storage is supported.
      method setStorageLocation
      void setStorageLocation(@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.

      Input Parameters:
      @NonNull SettingsDefinitions.StorageLocation locationThe storage location to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getStorageLocation
      void getStorageLocation(@NonNull final CompletionCallbackWith<SettingsDefinitions.StorageLocation> callback)
      Package:dji.sdk.camera
      Description:

      Gets the storage location for the newly generated photos or videos. When isInternalStorageSupported returns false, this setting is always SDCARD.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.StorageLocation> callbackThe execution callback with the returned execution result.


      Audio Settings

      method isAudioRecordingSupported
      boolean isAudioRecordingSupported()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_AUDIO_RECORDING_SUPPORTED
      Description:

      Determines whether the current device supports audio recording. Currently audio recording is supported only by the Osmo camera.

      Return:
      booleanThe boolean value.
      method setAudioRecordingEnabled
      void setAudioRecordingEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUDIO_RECORDING_ENABLED
      Description:

      Enables audio recording when capturing video. Supported only by Osmo camera.

      Input Parameters:
      boolean enabledEnable or disable audio recording.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getAudioRecordingEnabled
      void getAudioRecordingEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUDIO_RECORDING_ENABLED
      Description:

      Determines whether the audio record is enabled.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      Microphone Gain
      method
      method setAudioGain
      void setAudioGain(@IntRange(from = 0, to = 100) int value, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUDIO_GAIN
      Description:

      Sets the microphone recording gain.

      Input Parameters:
      @IntRange(from = 0, to = 100) int valueRecording gain with range [0, 100].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getAudioGain
      void getAudioGain(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.AUDIO_GAIN
      Description:

      Gets the microphone recording gain.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value(s).
      method setTurnOffFanWhenPossible
      void setTurnOffFanWhenPossible(boolean turnOffWhenPossible, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TURN_OFF_FAN_WHEN_POSSIBLE
      Description:

      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 turnOffWhenPossibletrue to turn fan off whenever possible.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getTurnOffFanWhenPossible
      void getTurnOffFanWhenPossible(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TURN_OFF_FAN_WHEN_POSSIBLE
      Description:

      Determines whether the fan will turn off whenever it is cool enough to do so to enable better audio recordings from the camera's internal microphone.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).


      Thermal

      Check
      method
      method isThermalCamera
      boolean isThermalCamera()
      Package:dji.sdk.camera
      SDK Key:CameraKey.IS_THERMAL_CAMERA
      Description:

      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.

      Return:
      booleanA boolean value.
      Region of Interest (ROI)
      method
      method setThermalROI
      void setThermalROI(@NonNull ThermalROI roi, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ROI
      Description:

      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.

      Input Parameters:
      @NonNull ThermalROI roiAn enum type of the Region of Interest to be used. Please refer to ThermalROI.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalROI
      void getThermalROI(@NonNull final CompletionCallbackWith<ThermalROI> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ROI
      Description:

      Gets the Region of Interest. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalROI> callbackThe execution callback with the returned value(s).
      Color Palette
      method
      method setThermalPalette
      void setThermalPalette(@NonNull ThermalPalette palette, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_PALETTE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalPalette paletteAn enum type of the ThermalPalette to be used.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalPalette
      void getThermalPalette(@NonNull final CompletionCallbackWith<ThermalPalette> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_PALETTE
      Description:

      Gets the Palette. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalPalette> callbackThe execution callback with the returned value(s).
      Scene
      method
      method setThermalScene
      void setThermalScene(@NonNull ThermalScene scene, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SCENE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalScene sceneAn enum type for the ThermalScene to be used.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalScene
      void getThermalScene(@NonNull final CompletionCallbackWith<ThermalScene> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SCENE
      Description:

      Gets current scene. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalScene> callbackThe execution callback with the returned value(s).
      Digital Data Enhancement (DDE)
      method
      method setThermalDDE
      void setThermalDDE(@IntRange(from = -20, to = 100) int value, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_DDE
      Description:

      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 valueInteger 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 callbackThe execution callback with the returned execution result.
      method getThermalDDE
      void getThermalDDE(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_DDE
      Description:

      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> callbackThe execution callback with the returned value(s).
      Active Contrast Enhancement (ACE)
      method
      method setThermalACE
      void setThermalACE(@IntRange(from = -8, to = 8) int value, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ACE
      Description:

      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 valueInteger 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 callbackThe execution callback with the returned execution result.
      method getThermalACE
      void getThermalACE(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ACE
      Description:

      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> callbackThe execution callback with the returned value(s).
      Smart Scene Optimization (SSO)
      method
      method setThermalSSO
      void setThermalSSO(@IntRange(from = 0, to = 100) int value, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SSO
      Description:

      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 valuePercentage of histogram to map linearly [0, 100].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalSSO
      void getThermalSSO(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SSO
      Description:

      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> callbackThe execution callback with the returned value(s).
      Brightness
      method
      method setThermalBrightness
      void setThermalBrightness(@IntRange(from = 0, to = 16383) int brightness,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_BRIGHTNESS
      Description:

      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 brightnessThe integer value falls in [0, 16383].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalBrightness
      void getThermalBrightness(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_BRIGHTNESS
      Description:

      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> callbackThe execution callback with the returned value(s).
      Contrast
      method
      method setThermalContrast
      void setThermalContrast(@IntRange(from = 0, to = 255) int contrast,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_CONTRAST
      Description:

      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 contrastContrast value as an integer with range [0, 255].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalContrast
      void getThermalContrast(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_CONTRAST
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setThermalIsothermEnabled
      void setThermalIsothermEnabled(boolean enabled, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_ENABLED
      Description:

      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 enabledtrue if isotherms are enabled.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalIsothermEnabled
      void getThermalIsothermEnabled(@NonNull final CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_ENABLED
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setThermalIsothermUnit
      void setThermalIsothermUnit(@NonNull ThermalIsothermUnit unit, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_UNIT
      Description:

      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.

      Input Parameters:
      @NonNull ThermalIsothermUnit unitAn enum type of the CameraThermalIsothermUnit to be used. Please refer to DJICameraThermalIsothermUnit.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalIsothermUnit
      void getThermalIsothermUnit(@NonNull final CompletionCallbackWith<ThermalIsothermUnit> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_UNIT
      Description:

      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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalIsothermUnit> callbackThe execution callback with the returned value(s).
      method setThermalIsothermUpperValue
      void setThermalIsothermUpperValue(@IntRange(from = 0, to = 100) int value,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_UPPER_VALUE
      Description:

      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 valueIf 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 callbackThe execution callback with the returned execution result.
      method getThermalIsothermUpperValue
      void getThermalIsothermUpperValue(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_UPPER_VALUE
      Description:

      Gets the upper threshold value for Isotherm. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value(s).
      method setThermalIsothermMiddleValue
      void setThermalIsothermMiddleValue(@IntRange(from = 0, to = 100) int value,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_MIDDLE_VALUE
      Description:

      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 valueIf 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 callbackThe execution callback with the returned execution result.
      method getThermalIsothermMiddleValue
      void getThermalIsothermMiddleValue(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_MIDDLE_VALUE
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setThermalIsothermLowerValue
      void setThermalIsothermLowerValue(@IntRange(from = 0, to = 100) int value,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_LOWER_VALUE
      Description:

      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 valueIf 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 callbackThe execution callback with the returned execution result.
      method getThermalIsothermLowerValue
      void getThermalIsothermLowerValue(@NonNull final CompletionCallbackWith<Integer> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ISOTHERM_LOWER_VALUE
      Description:

      Gets the lower threshold value for Isotherm. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> callbackThe execution callback with the returned value(s).
      method setThermalGainMode
      void setThermalGainMode(@NonNull ThermalGainMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_GAIN_MODE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalGainMode modeAn enum type of the ThermalGainMode to be used.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalGainMode
      void getThermalGainMode(@NonNull final CompletionCallbackWith<ThermalGainMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_GAIN_MODE
      Description:

      Gets the gain mode. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalGainMode> callbackThe execution callback with the returned value(s).
      Measurement Mode
      method
      method setThermalMeasurementMode
      void setThermalMeasurementMode(@NonNull ThermalMeasurementMode mode, @Nullable CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_MEASUREMENT_MODE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalMeasurementMode modeThe desired measurement mode.
      @Nullable CompletionCallback callbackExecution callback that receives the getter execution result.
      method getThermalMeasurementMode
      void getThermalMeasurementMode(@NonNull CompletionCallbackWith<ThermalMeasurementMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_MEASUREMENT_MODE
      Description:

      Gets the mode for thermal measurement. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull CompletionCallbackWith<ThermalMeasurementMode> callbackThe execution callback with the returned value(s).
      Digital Zoom
      method
      method setThermalDigitalZoomFactor
      void setThermalDigitalZoomFactor(@NonNull ThermalDigitalZoomFactor factor,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_DIGITAL_ZOOM_FACTOR
      Description:

      Adjusts the digital zoom. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @NonNull ThermalDigitalZoomFactor factorFor 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 callbackThe execution callback with the returned execution result.
      method getThermalDigitalZoomFactor
      void getThermalDigitalZoomFactor(@NonNull final CompletionCallbackWith<ThermalDigitalZoomFactor> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_DIGITAL_ZOOM_FACTOR
      Description:

      Gets current digital zoom. Supported only by thermal imaging cameras. For Zenmuse H20T, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalDigitalZoomFactor> callbackThe execution callback with the returned value(s).
      Profile
      method
      method getThermalProfile
      void getThermalProfile(@NonNull final CompletionCallbackWith<SettingsDefinitions.ThermalProfile> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_PROFILE
      Description:

      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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.ThermalProfile> callbackThe execution callback with the returned value(s).
      method setThermalSpotMeteringTargetPoint
      void setThermalSpotMeteringTargetPoint(@NonNull PointF targetPoint,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SPOT_METERING_TARGET_POINT
      Description:

      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 targetPointThe desired target point.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalSpotMeteringTargetPoint
      void getThermalSpotMeteringTargetPoint(
      @NonNull final CompletionCallbackWith<PointF> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SPOT_METERING_TARGET_POINT
      Description:

      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> callbackThe execution callback with the returned value(s).
      method setThermalMeteringArea
      void setThermalMeteringArea(@NonNull RectF area, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_METERING_AREA
      Description:

      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 areaThe desired thermal metering area.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalMeteringArea
      void getThermalMeteringArea(@NonNull final CompletionCallbackWith<RectF> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_METERING_AREA
      Description:

      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> callbackThe execution callback with the returned value(s).
      Flat-field Correction (FFC)
      method
      method setThermalFFCMode
      void setThermalFFCMode(@NonNull ThermalFFCMode mode, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_FFC_MODE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalFFCMode modeThe desired FFC mode.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalFFCMode
      void getThermalFFCMode(@NonNull final CompletionCallbackWith<ThermalFFCMode> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_FFC_MODE
      Description:

      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> callbackThe execution callback with the returned value(s).
      method triggerThermalFFC
      void triggerThermalFFC(@Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.TRIGGER_THERMAL_FFC
      Description:

      Trigger flat-field correction. Supported only by thermal imaging cameras. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      @Nullable final CompletionCallback callbackThe execution callback with result of the trigger action.
      method setThermalCustomExternalSceneSettingsProfile
      void setThermalCustomExternalSceneSettingsProfile(@NonNull ThermalCustomExternalSceneSettingsProfile profile,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_CUSTOM_EXTERNAL_SCENE_SETTINGS_PROFILE
      Description:

      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.

      Input Parameters:
      @NonNull ThermalCustomExternalSceneSettingsProfile profileThe desired user profile setting.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalCustomExternalSceneSettingsProfile
      void getThermalCustomExternalSceneSettingsProfile(
      @NonNull final CompletionCallbackWith<ThermalCustomExternalSceneSettingsProfile> callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_CUSTOM_EXTERNAL_SCENE_SETTINGS_PROFILE
      Description:

      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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<ThermalCustomExternalSceneSettingsProfile> callbackThe execution callback with the returned value(s).
      method setThermalAtmosphericTemperature
      void setThermalAtmosphericTemperature(float temperature, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ATMOSPHERIC_TEMPERATURE
      Description:

      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 temperatureThe assumed temperature of the atmosphere between the camera and the scene, can be between -50 and 327.67 degrees Celsius.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method setThermalAtmosphericTransmissionCoefficient
      void setThermalAtmosphericTransmissionCoefficient(final float coefficient,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_ATMOSPHERIC_TEMPERATURE
      Description:

      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 coefficientThe desired atmospheric temperature, can be between 50 and 100.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Background Temperature
      method
      method setThermalBackgroundTemperature
      void setThermalBackgroundTemperature(final float temperature, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_BACKGROUND_TEMPERATURE
      Description:

      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 temperatureThe desired background reflected temperature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Scene Emissivity
      method
      method setThermalSceneEmissivity
      void setThermalSceneEmissivity(final float emissivity, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_SCENE_EMISSIVITY
      Description:

      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 emissivityThe desired scene emissivity.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method setThermalWindowReflection
      void setThermalWindowReflection(final float reflection, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_WINDOW_REFLECTION
      Description:

      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 reflectionThe desired window reflection coefficient.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method setThermalWindowReflectedTemperature
      void setThermalWindowReflectedTemperature(final float temperature,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_WINDOW_REFLECTED_TEMPERATURE
      Description:

      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 temperatureThe desired window reflected temperature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method setThermalWindowTemperature
      void setThermalWindowTemperature(final float temperature, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_WINDOW_TEMPERATURE
      Description:

      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 temperatureThe desired window temperature.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method setThermalWindowTransmissionCoefficient
      void setThermalWindowTransmissionCoefficient(final float coefficient,
      @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_WINDOW_TRANSMISSION_COEFFICIENT
      Description:

      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 coefficientThe desired window transmission coefficient.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      Temperature Unit
      method
      method setThermalTemperatureUnit
      void setThermalTemperatureUnit(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.

      Input Parameters:
      final SettingsDefinitions.TemperatureUnit temperatureUnitAn enum value of TemperatureUnit.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getThermalTemperatureUnit
      void getThermalTemperatureUnit(final CompletionCallbackWith<SettingsDefinitions.TemperatureUnit> callback)
      Package:dji.sdk.camera
      Description:

      Gets the temperature unit. Only supported by XT2 and Mavic 2 Enterprise Dual Thermal camera. For Zenmuse H20T and H20N, please use class Lens.

      Input Parameters:
      final CompletionCallbackWith<SettingsDefinitions.TemperatureUnit> callbackThe execution callback with the returned execution result.
      Display Mode
      method
      method setDisplayMode
      void setDisplayMode(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.

      Input Parameters:
      final SettingsDefinitions.DisplayMode modeThe display mode to set.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getDisplayMode
      void getDisplayMode(@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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.DisplayMode> callbackThe execution callback with the returned execution result.
      PIP Position
      method
      method setPIPPosition
      void setPIPPosition(final SettingsDefinitions.PIPPosition position, @Nullable final CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Set the Picture in picture mode of XT2 camera.For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      final SettingsDefinitions.PIPPosition positionCould be one of the Enum "SettingsDefinitions.PIPPosition"
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getPIPPosition
      void getPIPPosition(@NonNull final CompletionCallbackWith<SettingsDefinitions.PIPPosition> callback)
      Package:dji.sdk.camera
      Description:

      Get picture in picture mode of XT2 camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class Lens.

      Input Parameters:
      @NonNull final CompletionCallbackWith<SettingsDefinitions.PIPPosition> callbackThe execution callback with the returned execution result.
      MSX Level
      method
      method setMSXLevel
      void setMSXLevel(@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 levelThe MSX level to set with range [0, 100].
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getMSXLevel
      void getMSXLevel(@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> callbackThe execution callback with the returned execution result.
      Dual Feed Vertical Alignment
      method
      method setDualFeedVerticalAlignmentOffset
      void setDualFeedVerticalAlignmentOffset(@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 offsetRange from -8 to 8 for XT2, from -40 to 40 for Mavic 2 Enterprise Dual.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getDualFeedVerticalAlignmentOffset
      void getDualFeedVerticalAlignmentOffset(@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> callbackThe execution callback with the returned execution result.
      Dual Feed Horizontal Alignment
      method
      method setDualFeedHorizontalAlignmentOffset
      void setDualFeedHorizontalAlignmentOffset(@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 offsetRange from -100 to 100 for XT2, from -40 to 40 for Mavic 2 Enterprise Dual.
      @Nullable final CompletionCallback callbackThe execution callback with the returned execution result.
      method getDualFeedHorizontalAlignmentOffset
      void getDualFeedHorizontalAlignmentOffset(@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> callbackThe execution callback with the returned execution result.


      Multi Lenses

      Check MultiLens Camera Supported
      method
      method isMultiLensCameraSupported
      boolean isMultiLensCameraSupported()
      Package:dji.sdk.camera
      Description:

      Determines if the camera supports the multiple lens.

      Return:
      booleantrue if the multiple lens is supported.
      Check Support Multi Video Stream Source
      method
      method isMultiVideoStreamSourceSupported
      boolean isMultiVideoStreamSourceSupported()
      Package:dji.sdk.camera
      Description:

      Determines whether the camera supports multi video stream source or not.

      Return:
      booleanA boolean value.
      Set Camera Video Stream Source
      method
      method setCameraVideoStreamSource
      void setCameraVideoStreamSource(@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.

      Input Parameters:
      @NonNull CameraVideoStreamSource cameraVideoStreamSourceThe camera video stream source.
      @Nullable final CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      Get Camera Video Stream Source
      method
      method getCameraVideoStreamSource
      void getCameraVideoStreamSource(@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.

      Input Parameters:
      @NonNull final CommonCallbacks.CompletionCallbackWith<CameraVideoStreamSource> callbackThe execution callback with the returned value(s).
      Capture Camera Stream Settings
      method
      method setCaptureCameraStreamSettings
      void setCaptureCameraStreamSettings(@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.

      Input Parameters:
      @NonNull CameraStreamSettings streamSettingsAn object of CameraStreamSettings.
      @Nullable final CommonCallbacks.CompletionCallback callbackCallback that receives the setter execution result.
      method getCaptureCameraStreamSettings
      void getCaptureCameraStreamSettings(@NonNull final CommonCallbacks.CompletionCallbackWith<CameraStreamSettings> callback)
      Package:dji.sdk.camera
      Description:

      Gets the capture camera stream settings for taking photo. Only supported by Zenmuse H20 series.

      Input Parameters:
      @NonNull final CommonCallbacks.CompletionCallbackWith<CameraStreamSettings> callbackCallback to receive the result.
      Record Camera Stream Settings
      method
      method setRecordCameraStreamSettings
      void setRecordCameraStreamSettings(@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.

      Input Parameters:
      @NonNull CameraStreamSettings streamSettingsAn object of CameraStreamSettings.
      @Nullable final CommonCallbacks.CompletionCallback callbackCallback that receives the setter execution result.
      method getRecordCameraStreamSettings
      void getRecordCameraStreamSettings(@NonNull final CommonCallbacks.CompletionCallbackWith<CameraStreamSettings> callback)
      Package:dji.sdk.camera
      Description:

      Gets the capture camera stream settings for recording video. Only supported by Zenmuse H20 series.

      Input Parameters:
      @NonNull final CommonCallbacks.CompletionCallbackWith<CameraStreamSettings> callbackCallback to receive the result.


      Multispectral Camera

      Multispectral Display Mode
      method
      method setMultispectralDisplayMode
      void setMultispectralDisplayMode(SettingsDefinitions.MultispectralDisplayMode displayMode, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      SettingsDefinitions.MultispectralDisplayMode displayModeThe display mode to set.
      @Nullable CommonCallbacks.CompletionCallback callbackCallback that receives the setter execution result.
      method getMultispectralDisplayMode
      void getMultispectralDisplayMode(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.MultispectralDisplayMode> callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.MultispectralDisplayMode> callbackCallback to receive the result.
      Multispectral Storage Photo Settings
      method
      method setMultispectralStoragePhotoSettings
      void setMultispectralStoragePhotoSettings(MultispectralStoragePhotoSettings settings, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      MultispectralStoragePhotoSettings settingsAn object of MultispectralStoragePhotoSettings.
      @Nullable CommonCallbacks.CompletionCallback callbackCallback to receive the setter result.
      method getMultispectralStoragePhotoSettings
      void getMultispectralStoragePhotoSettings(@NonNull CommonCallbacks.CompletionCallbackWith<MultispectralStoragePhotoSettings> callback)
      Package:dji.sdk.camera
      Description:

      Gets the storage settings for the multispectral camera. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<MultispectralStoragePhotoSettings> callbackCallback to receive the getter result.
      Multispectral Metering Mode
      method
      method setMultispectralMeteringMode
      void setMultispectralMeteringMode(SettingsDefinitions.MeteringMode mode, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      SettingsDefinitions.MeteringMode modeExposure metering to set.
      @Nullable CommonCallbacks.CompletionCallback callbackCallback to receive the result.
      method getMultispectralMeteringMode
      void getMultispectralMeteringMode(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.MeteringMode> callback)
      Package:dji.sdk.camera
      Description:

      Gets the metering mode for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.MeteringMode> callbackCallback to receive the result.
      Multispectral Exposure Mode
      method
      method setMultispectralExposureMode
      void setMultispectralExposureMode(SettingsDefinitions.ExposureMode mode, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      SettingsDefinitions.ExposureMode modeCamera exposure mode to set.
      @Nullable CommonCallbacks.CompletionCallback callbackRemote execution result error block.
      method getMultispectralExposureMode
      void getMultispectralExposureMode(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ExposureMode> callback)
      Package:dji.sdk.camera
      Description:

      Gets the exposure mode for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ExposureMode> callbackCallback to receive the result.
      method setMultispectralExposureCompensation
      void setMultispectralExposureCompensation(SettingsDefinitions.ExposureCompensation compensation, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      SettingsDefinitions.ExposureCompensation compensationExposure compensation value to be set for the single-band sensors's.
      @Nullable CommonCallbacks.CompletionCallback callbackCallback to receive the result.
      Multispectral Exposure Compensation
      method
      method getMultispectralExposureCompensation
      void getMultispectralExposureCompensation(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ExposureCompensation> callback)
      Package:dji.sdk.camera
      Description:

      Gets the exposure compensation for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ExposureCompensation> callbackCallback to receive the result.
      Multispectral Shutter Speed
      method
      method setMultispectralShutterSpeed
      void setMultispectralShutterSpeed(SettingsDefinitions.ShutterSpeed shutterSpeed, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      SettingsDefinitions.ShutterSpeed shutterSpeedShutter 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.
      @Nullable CommonCallbacks.CompletionCallback callbackRemote execution result error block.
      method getMultispectralShutterSpeed
      void getMultispectralShutterSpeed(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ShutterSpeed> callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.ShutterSpeed> callbackCallback to receive the result.
      Multispectral AE Lock
      method
      method setMultispectralAELock
      void setMultispectralAELock(boolean isLocked, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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 isLockedtrue if the the single-band sensors AE is locked, false if it is unlocked.
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned execution result.
      method getMultispectralAELock
      void getMultispectralAELock(@NonNull CommonCallbacks.CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.camera
      Description:

      Determines if all the single-band (sensors except the RGB one) sensors on the multispectral camera AE (auto exposure) is locked.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<Boolean> callbackCallback to receive the result.


      Camera Calibration

      Camera Calibrate State
      enum
      enum DJICameraCalibrateState
      enum DJICameraCalibrateState
      Package:dji.common.camera
      Description:

      The calibration status of the camera's lens.

      Enum Members:
      NOT_CALIBRATEIf the camera lenses are not calibrated. Focusing action will be influenced. Please use calibration interface if you need.
      CALIBRATEDCamera lens calibrated. Do not need to calibrate.
      CALIBRATINGCalibration is in progress.
      WAITING_FOR_CALIBRATEWaiting for the calibration.
      OTHERThe camera lens's state is unknown.
      Class Members:
      Camera Calibrate Result
      enum
      enum DJICameraCalibrateResult
      enum DJICameraCalibrateResult
      Package:dji.common.camera
      Description:

      The calibration result of the camera's lens.

      Enum Members:
      IDLENo calibration.
      COMPLETEDThe calibration is successful.
      FAIL_NORMALThe calibration is failed. Please retry.
      DATA_ERRORThe calibration is failed because of the data error. Please retry.
      OTHERThe calibration is failed with the unknown error.
      Class Members:
      Calibration callback
      class
      Start Calibaration
      method
      method startCalibration
      void startCalibration(@NonNull CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      Stop Calibaration
      method
      method stopCalibration
      void stopCalibration(@NonNull CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      Stop camera calibraion.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      Infinity Focus
      method
      method calibratedInfinityFocus
      void calibratedInfinityFocus(@NonNull CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.camera
      Description:

      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).

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      Inherited Methods:
      dji.sdk.base.BaseComponent
      method
      method setComponentListener
      void setComponentListener(ComponentListener listener)
      Package:dji.sdk.base
      Description:

      Sets the listener for the DJI component.

      Input Parameters:
      ComponentListener listenerThe callback of ComponentListener.
      method
      method getIndex
      int getIndex()
      Package:dji.sdk.base
      Description:

      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.

      Return:
      intAn int value of index.
      method isConnected
      boolean isConnected()
      Package:dji.sdk.base
      Description:

      true if the component is connected.

      Return:
      booleantrue if the component is connected.
      method getSerialNumber
      void getSerialNumber(@NonNull CompletionCallbackWith<String> callback)
      Package:dji.sdk.base
      Description:

      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.

      Input Parameters:
      @NonNull CompletionCallbackWith<String> callbackThe execution callback with the value returned.
      method getFirmwareVersion
      void getFirmwareVersion(@NonNull CompletionCallbackWith<String> callback)
      Package:dji.sdk.base
      Description:

      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> callbackThe execution callback with the value(s) returned.