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.

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

      Sets the camera's new generated media file callback.

      Input Parameters:
      @Nullable MediaFile.Callback callbackThe Callback object to set as the callback. The callback's method onNewFile <br>has a MediaFile object as it's parameter from which information about <br>the media type, index, file size and the created time 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.
      method setFocusStateCallback
      void setFocusStateCallback(@Nullable FocusState.Callback updatedLensStateCallback)
      Package:dji.sdk.camera
      Description:

      Callback for updating the lens state.

      Input Parameters:
      @Nullable FocusState.Callback updatedLensStateCallbackThe 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.
      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.

      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 setThermalAreaTemperatureAggregationsCallback
      void setThermalAreaTemperatureAggregationsCallback(
      @Nullable ThermalAreaTemperatureAggregations.Callback areaTemperatureAggregationsUpdatedCallback)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_AREA_TEMPERATURE_AGGREGATIONS
      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.

      Input Parameters:
      @Nullable ThermalAreaTemperatureAggregations.Callback areaTemperatureAggregationsUpdatedCallbackThe Callback object to set as the callback.
      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.

      Input Parameters:
      @Nullable ThermalExternalSceneSettings.Callback thermalExternalSceneSettingsUpdatedCallbackThe Callback object to set as the 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.


      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:
      CapabilitiesAn object of Capabilities.


      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.


      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      Input Parameters:
      @FloatRange(from = 1.0, to = 2.0) float factorThe valid range is from 1.0 to 2.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.

      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera. @return true if camera supports optical zoom.

      Return:
      booleanA boolean value.
      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      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 Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera, the zoom factor can be calculated by invoking getOpticalZoomFocalLength and getOpticalZoomSpec.

      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      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, Mavic 2 Zoom Camera and Mavic 2 Enterprise camera.

      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.

      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.

      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.

      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.

      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.

      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.

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

      Input Parameters:
      @Nullable final TapZoomStateCallback callbackCompletion block 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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      Input Parameters:
      @NonNull final CompletionCallbackWith<Integer> 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
      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.

      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.

      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.

      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.

      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 only supported by Spark.

      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 only supported by Spark.

      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 Mavic Air and Mavic 2. 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

      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.

      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.

      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.

      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

      File Naming
      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
      SDK Key:CameraKey.FILE_INDEX_MODE
      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.

      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.


      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.

      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.

      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.

      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.

      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.

      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.

      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.

      Input Parameters:
      final boolean enabledtrue to enable IR-Cut filter.
      @Nullable final CompletionCallback callbackCompletion block 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.

      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.

      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.

      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.

      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.

      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 only supported Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, 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 callbackCompletion block 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 X4S, Zenmuse X5S, Zenmuse X7, Mavic 2 Enterprise camera and Mavic 2 Enterprise Dual camera.

      Input Parameters:
      @NonNull final CompletionCallbackWith<String> callbackCompletion block 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.

      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 Phantom 4 Pro camera, X4S and X7 with DL lenses.

      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.

      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.

      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.

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

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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 or onUpdate to receive the measurement result. Supported only by thermal imaging cameras.

      Input Parameters:
      @NonNull ThermalMeasurementMode modeThe desired measurement mode.
      @Nullable CompletionCallback callbackCompletion block 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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.

      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.


      State Updates
      interface
      interface TimeLapsePreviewCallback
      interface TimeLapsePreviewCallback
      Package:dji.sdk.camera
      Description:

      Tells the callback that a preview image for the Time-lapse is generated. This method is available only when isTimeLapseSupported returns TRUE.

      Interface Methods:

      Callback Method

      State
      method
      method onGenerate
      void onGenerate(@NonNull Bitmap previewImage)
      Package:dji.sdk.camera
      Description:

      Called when a time-lapse preview image has been generated. This method is only available on Osmo with firmware version v1.5.2.0 or above.

      Input Parameters:
      @NonNull Bitmap previewImageThe new generated preview image.
      interface VideoDataCallback
      interface VideoDataCallback
      Package:dji.sdk.camera
      Description:

      Video data update callback. H.264 (also called MPEG-4 Part 10 Advanced Video Coding or MPEG-4 AVC) is a video coding format that is currently one of the most commonly used formats for the recording, compression, and distribution of video content.

      Interface Methods:

      Callback Method

      State
      method
      method onReceive
      void onReceive(byte[] videoBuffer, int length)
      Package:dji.sdk.camera
      Description:

      Video data update callback. H.264 (also called MPEG-4 Part 10 Advanced Video Coding or MPEG-4 AVC) is a video coding format that is currently one of the most commonly used formats for the recording, compression, and distribution of video content.

      Input Parameters:
      byte[] videoBufferH.264 video data buffer. Don't free the buffer after it has been used. The units for the video buffer are bytes.
      int lengthSize of the address of the video data buffer in bytes.
      interface TemperatureDataCallback
      interface TemperatureDataCallback
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_TEMPERATURE_DATA
      Description:

      Received temperature in degrees Celsius of image. For the XT, the temperature measurement data is the average of the center four pixels of the image.

      Interface Methods:

      Callback Method

      State
      method
      method onUpdate
      void onUpdate(float temperature)
      Package:dji.sdk.camera
      SDK Key:CameraKey.THERMAL_TEMPERATURE_DATA
      Description:

      Received temperature in degrees Celsius of image. The thermal imaging camera will only update the temperature if the temperature data is enabled. For the XT Standard version, the temperature measurement data is the average of the center four pixels of the image. For the XT Advanced Radiometry version, the temperature measurement point can be set using setThermalSpotMeteringTargetPoint.

      Input Parameters:
      float temperatureThe camera's temperature data in degrees Celsius.
      interface HistogramCallback
      interface HistogramCallback
      Package:dji.sdk.camera
      Description:

      Called whenever the camera histogram's light values change.

      Interface Methods:

      Callback Method

      State
      method
      method onUpdate
      void onUpdate(short[] lightValues)
      Package:dji.sdk.camera
      SDK Key:CameraKey.HISTOGRAM_LIGHT_VALUES
      Description:

      Update the histogram's light values.

      Input Parameters:
      short[] lightValuesThe histogram's light values.
      interface TapZoomStateCallback
      interface TapZoomStateCallback
      Package:dji.sdk.camera
      Description:

      Called when the camera's zoom state is updated.

      Interface Methods:

      Callback Method

      State
      method
      method onUpdate
      void onUpdate(TapZoomState tapZoomState)
      Package:dji.sdk.camera
      Description:

      Update tap zoom state.

      Input Parameters:
      TapZoomState tapZoomStateThe tap zoom state values.
      Managers
      class
      Settings
      class
      enum DisplayMode
      enum DisplayMode
      Package:dji.common.camera
      SDK Key:CameraKey.DISPLAY_MODE
      Description:

      Display modes to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and and Mavic 2 Enterprise Dual Camera.

      Enum Members:
      VISUAL_ONLYDisplays only the video feed from the visual camera.
      THERMAL_ONLYDisplays only the video feed from the thermal camera.
      PIPDisplays the video feed from the visual camera as the main subject, and the video from the thermal camera in a window not bigger than the main subject. The position of the thermal camera window can be adjusted with PIPPosition. Not supported by Mavic 2 Enterprise Dual.
      MSXMulti-Spectral Dynamic Imaging. Fuse the video feeds from both the visual camera and the thermal camera as one. Adds visible spectrum definition to IR images by detecting the edges of objects and including that detail in the thermal image.
      OTHERThe thermal video feed display mode is unknown.
      Class Members:
      enum PIPPosition
      enum PIPPosition
      Package:dji.common.camera
      SDK Key:CameraKey.PIP_POSITION
      Description:

      Possible positions to place the window of the thermal camera video feed when the display mode is PIP. Only supported by XT2 camera and Mavic 2 Enterprise Dual Light Camera.

      Enum Members:
      IR_CENTERPosition the window to the vertical center and the horizontal center.
      IR_BOTTOM_RIGHTPosition the window to be bottom right.
      IR_CENTER_RIGHTPosition the window to be centered on the right.
      IR_TOP_RIGHTPosition the window to be top right.
      IR_BOTTOM_CENTERPosition the window to be centered at bottom.
      IR_TOP_CENTERPosition the window to be centered at top.
      IR_BOTTOM_LEFTPosition the window to be bottom left.
      IR_CENTER_LEFTPosition the window to be centered on the left.
      IR_TOP_LEFTPosition the window to be top left.
      SIDE_BY_SIDEPosition the thermal window on the right side of the main window (the visual camera video feed). Scale both windows with the same height.
      ALIGNPosition the thermal window on top of the main window (the visual camera video feed). Then align the object in the thermal window with the same object in the main window. The alignment offset can be adjusted by setDualFeedHorizontalAlignmentOffset and setDualFeedVerticalAlignmentOffset.
      OTHERUnknown.
      Class Members:
      enum SDCardOperationState
      enum SDCardOperationState
      Package:dji.common.camera
      Description:

      Operation states of the camera's SD card.

      Enum Members:
      NORMALThe SD card is in the normal state.
      NOT_INSERTEDThe SD card is not inserted.
      INVALIDThe SD card is in invalid state.
      READ_ONLYThe SD card is in read-only state and write operation is not allowed.
      FORMAT_NEEDEDIt is required to format the SD card before using it.
      FORMATTINGThe SD card is being formatted.
      INVALID_FILE_SYSTEMThe SD card is using an invalid file system. Format the SD card before using it.
      BUSYThe SD card is busy.
      FULLThe SD card is full.
      SLOWThe SD card is too slow.
      UNKNOWN_ERRORThe SD card encounters an unknown error.
      NO_REMAIN_FILE_INDICESNo remaining file indices for any new photos or videos.
      INITIALIZINGThe SD card is in initializing state.
      FORMAT_RECOMMENDEDIt is recommended to format the SD card before using it.
      RECOVERING_FILESThe camera is recovering the damaged files on the SD card.
      WRITING_SLOWLYThe SD card is being written in a slow speed.
      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 only supported by Mavic 2 Zoom.
      UNKNOWNUnknown.
      Class Members:
      enum PictureStylePresetType
      enum PictureStylePresetType
      Package:dji.common.camera
      SDK Key:CameraKey.PICTURE_STYLE_PRESET
      Description:

      Camera preset type, a combine of Saturation, Contrast, Sharpness.

      Enum Members:
      STANDARDSaturation 0, Contrast 0, Sharpness 0.
      LANDSCAPESaturation 0, Contrast 1, Sharpness 1.
      SOFTSaturation 0, Contrast 0, Sharpness -1.
      CUSTOMCustom preset type
      UNKNOWNUnknown preset type
      Class Members:
      enum TemperatureUnit
      enum TemperatureUnit
      Package:dji.common.camera
      SDK Key:CameraKey.TEMPERATURE_UNIT
      Description:

      The temperature units.

      Enum Members:
      FAHRENHEITUse degree Fahrenheit as the unit.
      CELSIUSUse degree Celsius as the unit.
      OTHERUnknown.
      Class Members:
      enum StorageLocation
      enum StorageLocation
      Package:dji.common.camera
      SDK Key:CameraKey.CAMERA_STORAGE_LOCATION
      Description:

      Different storage locations supported by the camera.

      Enum Members:
      SDCARDSD card.
      INTERNAL_STORAGEThe internal storage embedded in the aircraft. When it is available, the camera can shoot photos or record videos without SD card. It is only supported by Mavic Air.
      UNKNOWNUnknown.
      Class Members:
      SSD Clip File Name
      class
      Original Photo Settings
      class
      Watermark Settings
      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 XT 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 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
      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 and M210 RTK, Camera and Gimbal with index 0 corresponds to the camera and gimbal 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.