void onExecutionStart(int actionGroup , int actionId)
+
+
+
+
--android --android
+
+
\ No newline at end of file
diff --git a/Docs/Android_API/cn/Components/DJICommonCallbacks/DJICommonCallbacks.html b/Docs/Android_API/cn/Components/DJICommonCallbacks/DJICommonCallbacks.html
index 7ff7ada8..c03a45fc 100644
--- a/Docs/Android_API/cn/Components/DJICommonCallbacks/DJICommonCallbacks.html
+++ b/Docs/Android_API/cn/Components/DJICommonCallbacks/DJICommonCallbacks.html
@@ -228,8 +228,6 @@
static final DJIKeyInfo<WlmDongleListInfo> KeyWlmAircraftDongleListInfo = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"WlmAircraftDongleListInfo", new DJIValueConverter<>(WlmDongleListInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("WlmUavDongleInfo")
staticfinal DJIKeyInfo<LowBatteryRTHInfo> KeyGoHomeAssessment = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"GoHomeAssessment", new DJIValueConverter<>(LowBatteryRTHInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
+
staticfinal DJIKeyInfo<LowBatteryRTHInfo> KeyLowBatteryRTHInfo = new KeyLowBatteryRTHInfo().canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
static final DJIKeyInfo<List<AccessLockerDeviceStatus>> KeyAccessLockerAllDeviceStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerAllDeviceStatus", new SingleValueConverter<>((Class)List.class,AccessLockerV1AllDeviceStates.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("AccessLockerV1AllDeviceStates")
static final DJIActionKeyInfo<AccessLockerSetSecurityCodeInfo,EmptyMsg> KeyAccessLockerSetSecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerSetSecurityCode", new DJIValueConverter<>(AccessLockerSetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1SetupUserAccount")
static final DJIActionKeyInfo<AccessLockerVerifySecurityCodeInfo,EmptyMsg> KeyAccessLockerVerifySecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerVerifySecurityCode", new DJIValueConverter<>(AccessLockerVerifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1VerifyUserAccount")
static final DJIActionKeyInfo<AccessLockerModifySecurityCodeInfo,EmptyMsg> KeyAccessLockerModifySecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerModifySecurityCode", new DJIValueConverter<>(AccessLockerModifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ModifyUserAccount")
static final DJIActionKeyInfo<AccessLockerResetSecurityCodeInfo,EmptyMsg> KeyAccessLockerResetSecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerResetSecurityCode", new DJIValueConverter<>(AccessLockerResetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ResetUserAccount")
Unlock the restricted fly zone: download the licenses for the restricted fly zone, push the licenses to the aircraft, and enable or disable the licenses for the aircraft.
Gets the fly zone within 50 kilometers from the central location.
Supported since MSDK 5.3.0
+
Gets the fly zones within 50 kilometers from the central location. Note: If there are too many fly zones obtained, drawing the fly zones on the map may cause ANR problems. It is recommended to optimize the display.
Add a listener for the fly safety database. Fly safety database information includes: database upgrade mode, database upgrade status, and manually imported database information.
Set the upgrade mode of the fly safety dynamic database. Currently, only manual import of EU GeoZone data is supported. If you want to fly your drone compliantly in the EU, please refer to the following process to import EU GeoZone data into the aircraft.
Import the fly safety dynamic database into the MSDK. Currently, only only support to import the EU GeoZone data. If you want to fly your drone compliantly in the EU, please refer to the following process to import EU GeoZone data into the aircraft.
Synchronize the fly safety dynamic database to the aircraft. Currently only support to synchronize the EU GeoZone data. If you want to fly your drone compliantly in the EU, please refer to the following process to import EU GeoZone data into the aircraft.
The aircraft is not allowed to take off before being unlocked in the authorized area.
TAKE_OFF_FAILED_IN_AUTHORIZED_ZONE
The aircraft is in the authorized area and you have obtained a fly license.
TAKE_OFF_IN_ENHANCED_WARNING_ZONE
The aircraft is in the enhanced warning zone, please pay attention to fly safety.
TAKE_OFF_NEAR_NO_FLY_ZONE
There is a no-fly zone nearby and there are fly restrictions.
LIMITED_RESTRICTIONS_NEARBY
There are limited restrictions in the nearby area.
AUTHORIZED_ZONE_WITHOUT_UNLOCKING_NEARBY
There is a authorized zone nearby and there are flight restrictions.
AUTHORIZED_ZONE_AND_RESTRICTIONS_NEARBY
There are authorized areas nearby and you have obtained a flight certificate.
RESTRICTIONS_IN_LIMITED_FLY_ZONE_NEARBY
There are flight restrictions in the nearby limited flight area.
IN_AUTHORIZATION_ZONE
The aircraft is in the authorized area and you have obtained a flight certificate.
TAKE_OFF_FAILED_UNDER_LIMIT_AREA_WITH_GPS_ONCE
The mobile device is in the no-fly zone, and the GPS signal of the aircraft is not good enough to take off.
HAVE_ONE_HOUR_WILL_APPLY_TFRS
After 1 hour, a temporary restricted flight zone will take effect within 7KM, please pay attention to flight safety.
@@ -738,7 +840,7 @@
Class Members:
enum FlySafeSeriousWarningEvent
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
Event enumeration of fly safety serious warning information.
Supported since MSDK 5.3.0
Enum Members:
IN_NO_FLY_ZONE
The aircraft is in the no-fly zone. After the countdown is over, it will force an automatic drop. You will not be able to control the throttle, but you can adjust the horizontal direction to avoid obstacles.
IN_LIMIT_HEIGHT_AREA
The aircraft is in the height limit zone. After the countdown is over, it will automatically drop to the limit height, you will not be able to control the throttle, but you can adjust the horizontal direction to avoid obstacles.
IN_AUTHORIZATION_ZONE_WITHOUT_UNLOCKING
The aircraft is in the authorized area. After the countdown is over, it will automatically drop to the limit height, you will not be able to control the throttle, but you can adjust the horizontal direction to avoid obstacles.
HAVE_THREE_MIN_WILL_APPLY_TFRS
Three minutes later, a temporary restricted flight zone will take effect nearby, please pay attention to fly safety.
@@ -749,7 +851,7 @@
Class Members:
enum FlySafeReturnToHomeEvent
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
Event enumeration of fly safety return to home information.
Supported since MSDK 5.3.0
Enum Members:
NEAR_NO_FLY_ZONE
Approaching a No-Fly Zone. Return to home may be affected. Fly with caution.
CROSS_NO_FLY_ZONE
Current Return to home route will pass a No-Fly zone. Pay attention to the aircraft's position to avoid Return to home failure.
@@ -760,7 +862,7 @@
Class Members:
enum FlyZoneType
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
Type of restricted fly zone. Including airports, parks, schools, stadium, etc.
Supported since MSDK 5.3.0
Enum Members:
AIRPORT
Airport.
COMMERCIAL_AIRPORTS
Commercial airport.
PRIVATE_COMMERCIAL_AIRPORTS
Private commercial airport.
RECREATIONAL_AIRPORTS
Recreational airport.
PRIVATE_RECREATIONAL_AIRPORTS
Private recreational airport.
HELIPORT
Heliport.
UNPAVED_AIRPORT
Unpaved airport.
NATIONAL_PARKS
National park.
NOAA
NOAA.
PARCEL
Post office.
POWER_PLANT
Power plant.
SCHOOL
School.
STADIUM
stadium.
NUCLEAR_POWER_PLANT
Nuclear power plant.
PROHIBITED_SPECIAL_USE
Special Use.
RESTRICTED_SPECIAL_USE
Special Use.
SPECIAL
Special fly zone.
TEMPORARY_FLIGHT_RESTRICTIONS
Temporary flight restriction.
CLASS_B_AIR_SPACE
Class B controlled airspace. See http://www.dji.com/flysafe/geo-system#notes for more information on the controlled airspace (Class B, C, D, E) in the United States.
CLASS_C_AIR_SPACE
Class C controlled airspace. See http://www.dji.com/flysafe/geo-system#notes for more information on the controlled airspace (Class B, C, D, E) in the United States.
CLASS_D_AIR_SPACE
Class D controlled airspace. See http://www.dji.com/flysafe/geo-system#notes for more information on the controlled airspace (Class B, C, D, E) in the United States.
CLASS_E_AIR_SPACE
Class E controlled airspace. See http://www.dji.com/flysafe/geo-system#notes for more information on the controlled airspace (Class B, C, D, E) in the United States.
PRISON
Prison.
MILITARY
Military.
@@ -771,7 +873,7 @@
Class Members:
enum FlyZoneCategory
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
Restricted Fly Zone category. Including restricted zone, authorization zone, warning zone and enhanced warning zone, etc.
Supported since MSDK 5.3.0
Enum Members:
WARNING
Warning.
ENHANCED_WARNING
Enhanced warning.
AUTHORIZATION
authorization fly zone.
RESTRICTED
Restricted fly zone.
@@ -782,7 +884,7 @@
Class Members:
enum FlyZoneShape
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
Restricted fly zone shape type. Includes circles and polygons.
Supported since MSDK 5.3.0
Enum Members:
CIRCLE
circle.
MULTI_POLYGON
Polygon. Contains cylindrical and polygonal restricted fly zones.
@@ -793,13 +895,56 @@
Class Members:
enum MultiPolygonFlyZoneShape
Package:
dji.v5.manager.aircraft.flysafe.info
-
Description:
+
Description:
The shape type of polygonal restricted fly zone. Includes cylinders and polygons.
Fly safety database upgrade mode. Includes manual import and automatic upgrade. MSDK only supports manual import mode. If you need to use automatic upgrade mode, please use DJI official APP.
Supported since MSDK 5.8.0
+
Enum Members:
+
MANUAL_IMPORT
Manual import mode. MSDK only supports manual upgrade mode. If you need to use automatic upgrade mode, please use the DJI official APP.
AUTOMATIC_UPGRADE
Automatic upgrade mode. MSDK only supports manual upgrade mode. If you need to use automatic upgrade mode, please use the DJI official APP. The automatic update mode can only be used as a supplement for fly safety. If you want to fly your aircraft compliantly in the EU, please refer to manually importing EU GeoZone data into the aircraft.
Need to import. Indicates that the current database of MSDK does not contain data on the current position of the aircraft. Please call importFlySafeDynamicDatabaseToMSDK to import the database near the aircraft location.
NEED_TO_SYNC
Need to synchronize. Indicates that the database in MSDK needs to be synchronized to the aircraft. Please call pushFlySafeDynamicDatabaseToAircraft to push the database in MSDK to the aircraft.
UP_TO_DATE
Up to date. Indicates that the MSDK database has been successfully synchronized to the aircraft.
Restricted fly zone licenses class. Including the basic information of the unlocking licenses, such as license type, validity period, flight controller SN bound to the license, enabling status, etc.
Obtain the DJIValue value of the DJIKey synchronously, which is the value obtained from the MSDK cache. If the value cannot be read, the set defaultValue will be returned. To get the value asynchronously from the hardware device, please call getValue.
Get the signal quality level of wireless link manager. The signal quality level of OcuSync link and LTE link can be obtained through this interface. Notic: It is recommended to use ILTEManager with more complete functions, support LTE authentication, and enable and disable the enhanced transmission function.
static final DJIKeyInfo<WlmDongleListInfo> KeyWlmAircraftDongleListInfo = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"WlmAircraftDongleListInfo", new DJIValueConverter<>(WlmDongleListInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("WlmUavDongleInfo")
Parameter:DoublePoint2D The focus target of camera automaic focus. [0,0] means the upper left corner of camera screen. [1,1] means the lower right corner of camera screen. In AF mode, camera will automatically focus on the focus target once after setting focus target. Notice: 1. To use this function, please call KeyCameraVideoStreamSource to set the video source to ZOOM_CAMERA. 2. When using KeyTools to create a DJIKey instance, please set CameraLensType to CAMERA_LENS_ZOOM. If it is an M3M aircraft, set it to CAMERA_LENS_RGB. If it is a single-lens aircraft, set it to CAMERA_LENS_DEFAULT.
staticfinal DJIKeyInfo<Boolean> KeyIRCutEnabled = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"IRCutEnabled", SingleValueConverter.BooleanConverter).canGet(true).canSet(true).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("IRCutEnable")
Package:
dji.sdk.keyvalue.key
Description:
-
Parameter: Boolean
true means night scene mode is opened. Night scene mode improves the shooting effect in low-light environments by turning on the infrared filter in the zoom camera. It only supports zoom lens.
Supported since MSDK 5.0.0
+
Parameter: Boolean
true means IR light is enabled. When enabled, zoom camera view will display in black and white.
staticfinal DJIKeyInfo<Integer> KeyUltrasonicHeight = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"UltrasonicHeight", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
Package:
dji.sdk.keyvalue.key
Description:
-
Parameter: Integer
To get the height of ultrasound distance measuring. The height is the distance measured from top to bottom after the aircraft takes off. unit:dm. The maximum measurable distance is 25.5 meters.
Supported since MSDK 5.0.0
+
Parameter: Integer
To get the height of ultrasound distance measuring, unit:dm. The height is the distance measured from top to bottom after the aircraft takes off. Barometer altitude is often incorporated to make the data more accurate. note:
+
+
The maximum measurable distance at this altitude is usually 25.5 meters, depending on the actual capabilities of the aircraft.
+
If the aircraft is equipped with a downward-looking sensor, this height will also be integrated with the ranging height of the downward-looking sensor.
+
If the aircraft is equipped with an infrared sensor, this altitude will also be combined with the infrared sensor ranging altitude.
+
true means intelligent low battery return-to-home function is opened. To avoid unnecessary dangers dangerous due to the low battery, aircraft will intelligently judge whether the current battery is sufficient according to the flight position information. If current battery power is only enough to complete the return-to-home process, MSDK will prompt whether operate the return-to-home process. If the user does not make a selection within 10s, MSDK will automatically return-to-home after 10s. During the returning process, you can short press the smart return-to-home button on the remote control to cancel the return-to-home process. Smart low battery return-to-home only occurs once during one flight. If the user cancels the low-battery return-to-home reminder and continues to fly, the aircraft may be forced to land due to insufficient power when returning, resulting in the aircraft being lost or crashed. For security reasons, it is not recommended to turn this function off.
staticfinal DJIKeyInfo<LowBatteryRTHInfo> KeyGoHomeAssessment = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"GoHomeAssessment", new DJIValueConverter<>(LowBatteryRTHInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
+
staticfinal DJIKeyInfo<LowBatteryRTHInfo> KeyLowBatteryRTHInfo = new KeyLowBatteryRTHInfo().canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
staticfinal DJIActionKeyInfo<Boolean, EmptyMsg> KeyLowBatteryRTHConfirm = new KeyLowBatteryRTHConfirm().canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false)
+
Package:
dji.sdk.keyvalue.key
+
Description:
+
Parameter: Boolean
Confirm or cancel the return home operation. When calling KeyLowBatteryRTHInfo and the status obtained is COUNTING_DOWN, you can call this interface to confirm or cancel the return operation. true indicates confirmation of return. false means to cancel the return flight.
static final DJIKeyInfo<List<AccessLockerDeviceStatus>> KeyAccessLockerAllDeviceStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerAllDeviceStatus", new SingleValueConverter<>((Class)List.class,AccessLockerV1AllDeviceStates.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("AccessLockerV1AllDeviceStates")
Get the security code status of the storage device. Through this interface, you can obtain whether the storage device on the aircraft supports the security code function, whether the security code function is enabled, and whether the security code needs to be verified. Security code is to keep your media data safe. After the security code is set, the MSDK App needs to perform password verification after connecting to the aircraft. After the verification is passed, it can take photos, record videos and read and write media data in the storage device.
getIsFeatureNeedToBeVerified is true, indicating that the storage device needs to verify the security code. Please call KeyAccessLockerVerifySecurityCode for security code verification, otherwise, you will not be able to take photos and record videos, and you will not be able to read and write media data in the storage device. The security code is usually required to be verified when the aircraft is restarted or the storage device is inserted.
Security code is neither saved on device nor accessible by DJI.
It is not possible to reset security code. If security code is lost, format SD card to delete code.
Security code settings only available for Zenmuse H20, Matrice 30 series cameras and Mavic 3 Enterprise series cameras. Zenmuse P1, Zenmuse L1, and third-party payloads currently not supported.
static final DJIActionKeyInfo<AccessLockerSetSecurityCodeInfo,EmptyMsg> KeyAccessLockerSetSecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerSetSecurityCode", new DJIValueConverter<>(AccessLockerSetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1SetupUserAccount")
Set a security code. The device and storage type can be selected for security code setting through this interface.
The storage device will be formatted after setting the security code, please make sure the media data has been backed up.
Please keep the security code in a safe place. If you lose it, you will not be able to retrieve it. You can only unlock the storage device by formatting it.
@@ -1209,7 +1251,7 @@
Description:
static final DJIActionKeyInfo<AccessLockerVerifySecurityCodeInfo,EmptyMsg> KeyAccessLockerVerifySecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerVerifySecurityCode", new DJIValueConverter<>(AccessLockerVerifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1VerifyUserAccount")
Verify the security code. The security code can be verified through this interface. After the verification is passed, you can take photos, record videos and read and write media data in the storage device.
Supported since MSDK 5.1.0
@@ -1218,7 +1260,7 @@
Description:
static final DJIActionKeyInfo<AccessLockerModifySecurityCodeInfo,EmptyMsg> KeyAccessLockerModifySecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerModifySecurityCode", new DJIValueConverter<>(AccessLockerModifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ModifyUserAccount")
static final DJIActionKeyInfo<AccessLockerResetSecurityCodeInfo,EmptyMsg> KeyAccessLockerResetSecurityCode = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"AccessLockerResetSecurityCode", new DJIValueConverter<>(AccessLockerResetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ResetUserAccount")
Gets information about the DJI AirSense system. Contains warning levels and detailed status of detected airplanes (Manned aircraft with AirSense system. For example, civil aircraft, helicopter and so on. It is referred to airplane.). DJI AirSense only sends out warnings of nearby airplanes under certain circumstances. It will NOT control DJI aircraft to avoid other airplanes automatically. Make sure to fly with your DJI aircraft within visual line of sight at all times, and always fly with caution. After receiving warnings, lower your DJI aircraft to a safe height. In addition, DJI AirSense has the following limitations:
DJI AirSense can only receive messages sent from airplane equipped with an ADS-B out device under 1090ES (RTCA DO-260) or UAT (RTCA Do-282) standards. For airplane without ADS-B outs or with malfunctioning ADS-B outs, DJI AirSense cannot receive related broadcasted messages or send out warnings.
When there are obstacles between the airplane and DJI aircraft, DJI AirSense will fail to receive ADS-B messages sent from airplane or warnings.
DJI AirSense may fail to receive ADS-B messages sent from airplane or send out warnings due to environmental changes and disturbances. It is highly recommended to fly with caution and stay aware of your surroundings during flight.
DJI AirSense cannot send out warnings when the DJI aircraft cannot accurately determine its location.
DJI AirSense cannot receive ADS-B messages sent from airplane or send out warnings when it is disabled or misconfigured.
To get remote controller control mode. When calling the get method for the first time, you need to use the asynchronous method getValue to get the value.
Camera stream management class. Supports functions such as camera lens video stream display, video frame data and video stream data acquisition. The following is the interface usage process:
Add the video stream data listener addReceiveStreamListener to receive the video stream data. The video stream data can be used for functions such as self-decoding display and third-party livestreaem.
+
Add the frame data listener addFrameListener to receive frame data. Frame data can be used for algorithm processing of functions such as AI recognition.
Set available camera listener. This listener allows you to listen for available camera indexes. After obtaining the available camera indexes, you can call putCameraStreamSurface to display the video stream of a specific camera.
voidputCameraStreamSurface(@NonNull ComponentIndexType cameraIndex, @NonNull Surface surface, int surfaceWidth, int surfaceHeight, @NonNull ScaleType scaleType)
+
Package:
dji.v5.manager.interfaces
+
Description:
+
Display the camera video stream to a specific surface. A single surface can display at most one cameraIndex camera video stream at the same time. If this interface is called multiple times for the same surface, the parameters of the surface will be updated, such as updating the camera index, surface's size or scale type.
+ Note:
+If you want to display images from different camera lenses, you can call KeyCameraVideoStreamSource to switch camera lenses.
+
Set the surface that needs to display the video stream. Supports SurfaceView, TextureView and MediaCodeC Surface, does not support GLSurfaceView surface and any surface bound to OpenGL.
int surfaceWidth
Set the surface width required for video stream display.
int surfaceHeight
Set the surface height required for video stream display.
Remove the added surface. When you no longer need to use the surface, please call this interface to remove the added surface, otherwise it will cause memory leaks. After removal, the surface will no longer display the video stream.
voidaddFrameListener(@NonNull ComponentIndexType cameraIndex, @NonNull FrameFormat format, @NonNull CameraFrameListener listener)
+
Package:
dji.v5.manager.interfaces
+
Description:
+
Add video frame data listener. This listener can listen the video frame data of the specified camera. You can use video frame data to implement functions such as AI recognition.
Add a video stream data listener. Through this listener, you can receive the raw video stream data of the specified camera. You can use this stream data to decode and display it yourself or implement functions such as third-party live streaming.
Whether to let the decoder continue decoding in the background, the default value is false. If it is false, when the manager does not reference any Surface, ReceiveStreamListener, or CameraFrameListener, the decoder will pause decoding to reduce background performance/power consumption, but this will increase the delay in pushing camera video stream data for the first time. If true, the decoder will continue to decode in the background, which will increase performance/power consumption, but can reduce the delay in pushing camera video stream data for the first time.
Supported since MSDK 5.8.0
+
Input Parameters:
+
boolean isKeepALive
true means the decoder continues decoding in the background.
Set the video channel for live streaming. Note:
+This interface is deprecated starting from MSDK 5.8.0. Please call setCameraIndex to set the camera index to live stream.
+
Get the type of video channel for live streaming. Note: This interface is deprecated starting from MSDK 5.8.0. Please call getCameraIndex to get the camera index.
Set the mode of live stream video bit rate. Under AUTO mode, MSDK will set the live stream video bit rate automatically. Under MANUAL mode, you can callsetLiveVideoBitrateto set the live stream video bit rate.
Class that is used for managing media data center. It can be used to get an instance of VideoStreamManager, MediaManager and LiveStreamManager. It provides the video stream, media data and live stream management capability.
Supported since MSDK 5.0.0
+
Class that is used for managing media data center. It can be used to get an instance of VideoStreamManager, MediaManager and LiveStreamManager. It provides the video stream, media data and live stream management capability. Note:
+IVideoStreamManager is deprecated starting from MSDK 5.8.0. Please use ICameraStreamManager to implement video stream management related functions.
+
Get an instance of VideoStreamManager, this instance is used to manage the parameters and output of the video stream. Note: You need to call this method again to get the instance of VideoStreamManager again when a new DJI product is connected. The new DJI hardware product connection can be obtained through KeyConnection and KeyProductType.
Supported since MSDK 5.0.0
+
Get an instance of VideoStreamManager, this instance is used to manage the parameters and output of the video stream. Note: 1. You need to call this method again to get the instance of VideoStreamManager again when a new DJI product is connected. The new DJI hardware product connection can be obtained through KeyConnection and KeyProductType. 2. This interface is deprecated starting from MSDK 5.8.0. Please call getCameraStreamManager to obtain a CameraStreamManager instance to implement video stream management related functions.
Obtain the CameraStreamManager instance, which supports functions such as camera lens video stream display, frame data and video stream data acquisition. CameraStreamManager has an abstract design for VideoStreamManager, shielding the concept of underlying VideoChannel. Make video stream management simpler and more stable. It is recommended that you use CameraStreamManager instead of VideoStreamManager to implement video stream management related functions.
Get instance of MediaManager. This instance is used to manage the camera functions such as media file list download, media file preview, download and video playback.
Enter the media file management module. Calling this interface, camera will enter media file management module. In this mode, you can pull media file list and playback the video in camera. At this time , camera will no be able to take photo and record, image transmission can not be display normally. It is suggested that you call this interface when you enter the album.
Start to play the set media file. Media file data can be obtained by callback method.
1. If you want to decode to display the video by yourself, you can call custom decoder to decode the video through the video frame data IVideoFrame obtained from callback.
Start to play the set media file. Media file data can be obtained by callback method.
1. If you want to decode to display the video by yourself, you can call custom decoder to decode the video through the video frame data IVideoFrame obtained from callback.
voidplayVideoToSurface(MediaFile mediaFile, Surface surface, int surfaceWidth, int surfaceHeight, ICameraStreamManager.ScaleType scaleType, MediaFrameListener listener)
+
Package:
dji.v5.manager.interfaces
+
Description:
+
Start playing the set media file. Media file data can be obtained by callback method.
+ Note:
+If you want to decode to display the video by yourself, you can call custom decoder to decode the video through the video stream data from the listener.
+
Resource release. Calling this interface will cancel the media file data downloading, clear the thumbnail cache and clear the media file list data. It is recommended that you call it when the system memory is insufficient.
Supported since MSDK 5.0.0
Related:
@@ -782,7 +824,7 @@
Related:
enum MediaFileFilter
Package:
dji.v5.manager.datacenter.media
-
Description:
+
Description:
Pulling media file list filter setting class.
Supported since MSDK 5.0.0
Enum Members:
VIDEO
Video.
PHOTO
Photo.
ALL
All media files.
@@ -793,7 +835,7 @@
Class Members:
enum MediaFileListState
Package:
dji.v5.manager.datacenter.media
-
Description:
+
Description:
Media file list status.
Supported since MSDK 5.0.0
Enum Members:
IDLE
IDLE status. When the media file list is in IDLE status, pullMediaFileListFromCamera should be called to pull full data.
UP_TO_DATE
Updated status. When the media file list is in updated status, getMediaFileListData should be called to update the media file list data.
UPDATING
Updating status. When the media file list is in updating status, it means that the MSDK is synchronizing with date in camera. After the synchronization, the status will change to UP_TO_DATE, getMediaFileListData should be called to update the media file list data.
@@ -804,13 +846,13 @@
Class Members:
enum VideoPlayState
Package:
dji.v5.manager.datacenter.media
-
Description:
+
Description:
Enum type of media file playing status.
Supported since MSDK 5.0.0
Enum Members:
IDLE
IDEL status. The media file play function is not enabled. playVideo can be called to play media file.
PLAYING
Playing.
ENDED
Play is ended.
STOPPED
Play is stopped. When stopVideo is called successfully to stop playing media file, this status will be called back.
4. If you want to write your own decoder, you can addaddStreamDataListenerto receive the video stream data.
5. If you don't want to write your own decoder, you can use DJI decoderIVideoDecoderto decode.
+ Note:
+This interface is deprecated starting from MSDK 5.8.0. Please call getCameraStreamManager to obtain a CameraStreamManager instance to implement video stream management related functions.
+
Disable the video channel. After disabling the video channel, theStreamDataListenerwill stop receiving video data. After disabling the channel successfully, The channel state will change toCLOSE.
Supported since MSDK 5.0.0
+
Disable the video channel. After disabling the video channel, theandroidx.annotation.NonNullwill stop receiving video data. After disabling the channel successfully, The channel state will change toCLOSE.
The type of video channel. Every video channel has an unique video channel type. The main video channel has the highest priority. When the transmitting bandwidth is narrow, we will ensure the main video channel is working properly first.
DJI decoder class. It supports YUV output mode and SURFACE output mode. You can set the output modeDecoderOutputModethrough its constructor. You can setVideoChannelTypeto bind the decoder with channelIVideoChannel. Note: If you want to set the width and height of decoder through constructor, you have to make sure the width and height are multple of 16.
The megaphone starts playing. Before calling the start play interface, you need to call the file transfer method startPushingFileToMegaphone or the streaming transfer method startRealTimeTransmission to transmit the data to be played to the megaphone.
Turn on streaming transferring mode. You can call sendRealTimeDataToMegaphone to send the data to be played to the megaphone, and call appendEOFToRealTimeData to add the EOF flag, indicating that the data is sent. Then call the startPlay interface to play. Notice: The data in streaming transferring mode must be audio data in OPUS encoded format.
Set the area code of country or area. The UAS remote identification function supported by the country or area can only be used after the corresponding area code is set.
Currently the supported country or area list and the supported function list is as follows:
USA: remote identification broadcast of drone
Japan: remote identification broadcast of drone, registration number of drone.
Frence: EID Switch
Note: This interface has been deprecated since MSDK 5.3.0. Please call setUASRemoteIDAreaStrategy instead of this function.
Supported since MSDK 5.0.0
+
Set the area code of country or area. The UAS remote identification function supported by the country or area can only be used after the corresponding area code is set.
Currently the supported country or area list and the supported function list is as follows:
USA: remote identification broadcast of drone
Japan: remote identification broadcast of drone, registration number of drone.
Frence: EID Switch
Note: This interface has been deprecated since MSDK 5.3.0. Please call setUASRemoteIDAreaStrategy instead of this function.
Set the area strategy, and the UAS remote identification function supported by the country or area can be used only after the corresponding area strategy is set. After MSDK obtains the area code of the current area, it will set the corresponding area strategy by default. If you need to set other area strategy for development, you can call this interface to set the corresponding area strategy to make it take effect.
Currently the supported country or area list and the supported function list is as follows:
USA: remote identification broadcast of drone
Japan: remote identification broadcast of drone, registration number of drone.
Frence: EID Switch
Supported since MSDK 5.3.0
+
Set the area strategy, and the UAS remote identification function supported by the country or area can be used only after the corresponding area strategy is set. After MSDK obtains the area code of the current area, it will set the corresponding area strategy by default. If you need to set other area strategy for development, you can call this interface to set the corresponding area strategy to make it take effect.
Currently the supported country or area list and the supported function list is as follows:
USA: remote identification broadcast of drone
Japan: remote identification broadcast of drone, registration number of drone.
European: remote identification broadcast of drone, registration number of operator.
Set the registration number based on the drone management policies and regulations of different countries.
The drone registration number application entrance of Japan: https://www.dips.mlit.go.jp,无人机注册码的格式为:{"registration_code":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","key_info":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","nonce_info":"xxxxxxxxxxxx"},设置了无人机注册码以后,isBroadcastRemoteIdEnabled将会被开启。
Supported since MSDK 5.0.0
+
Set the registration number based on the drone management policies and regulations of different countries.
The drone registration number application entrance of Japan: https://www.dips.mlit.go.jp,Format of drone registration code:{"registration_code":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","key_info":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","nonce_info":"xxxxxxxxxxxx"}, After setting the drone registration code, isBroadcastRemoteIdEnabled will be enabled.
Update the real name system status to the aircraft from the China UOM system. In accordance with the requirements of mainland China's unmanned aircraft flight management regulations, starting from January 1, 2024, any flying drone purchased and activated after this date to fly in mainland China will need to register with a real name on the UOM system, and You need to be connected to the Internet to update the real name registration information to the aircraft, otherwise the aircraft will not be able to take off normally.
+
Real name registration portal: https://uom.caac.gov.cn/#/login, After the real name registration is implemented, you can call this interface to update the real name status to the aircraft.
NOT AUTH, the aircraft will not be able to take off. In accordance with the requirements of mainland China's unmanned aircraft flight management regulations, if you need to fly in mainland China, please register with your real name on the UOM system.
Real name registration portal: https://uom.caac.gov.cn/#/login, After the real name registration is implemented, you can call this interface to update the real name status to the aircraft.
VAILD_AUTH
VAILD AUTH, the aircraft can take off normally.
CANCELLED
CANCELLED, the registration information on the UOM system has been canceled and the aircraft will not be able to take off. In accordance with the requirements of mainland China's unmanned aircraft flight management regulations, if you need to fly in mainland China, please register with your real name on the UOM system.
Real name registration portal: https://uom.caac.gov.cn/#/login, After the real name registration is implemented, you can call this interface to update the real name status to the aircraft.
NETWORK_ERROR
NETWORK ERROR, lease make sure the network is normal and try again
VERIFIED_AND_CANCLLED
VERIFIED AND CANCLLED, after the aircraft has been authenticated, the status on the UOM system has been canceled. In accordance with the requirements of mainland China's unmanned aircraft flight management regulations, if you need to fly in mainland China, please register with your real name on the UOM system.
Real name registration portal: https://uom.caac.gov.cn/#/login, After the real name registration is implemented, you can call this interface to update the real name status to the aircraft.
UNSUPPORTED
The aircraft does not support the real name function.
NOT_ACTIVE_YET
The aircraft has not been activated. Please activate it with the DJI official APP first.
DONT_NEED_CHECK_REALNAME
The aircraft does not need the real name function.
Returns a list of wayline IDs available in the specified mission file. After obtaining this wayline ID list, you can select the wayline ID to be executed and pass it as a parameter to startMission to execute the waypoint mission.
Supported since MSDK 5.1.0
+
Returns a list of wayline IDs available in the specified mission file. After obtaining this wayline ID list, you can select the wayline ID to be executed and pass it as a parameter to startMission to execute the waypoint mission. Note: M300 RTK and M350 RTK only support 1 wayline ID.
Start executing the waypoint mission of the specified Wayline IDs list. A list of available wayline IDs can be obtained through getAvailableWaylineIDs, after obtaining this wayline IDs list, you can select the wayline ID to be executed as a parameter and pass it to this interface, the aircraft will execute the waypoint mission in sequence in the order of the wayline IDs list. If the wayline IDs list parameter is empty or the length of the wayline IDs list is 0, the aircraft will execute all waylines in the waypoint mission.
Supported since MSDK 5.1.0
+
Start executing the waypoint mission of the specified Wayline IDs list. A list of available wayline IDs can be obtained through getAvailableWaylineIDs, after obtaining this wayline IDs list, you can select the wayline ID to be executed as a parameter and pass it to this interface, the aircraft will execute the waypoint mission in sequence in the order of the wayline IDs list. If the wayline IDs list parameter is empty or the length of the wayline IDs list is 0, the aircraft will execute all waylines in the waypoint mission. Note: M300 RTK and M350 RTK only support 1 wayline ID.