DJI Mobile SDK Documentation

      class IVirtualStickManager

      interface IVirtualStickManager
      包:dji.v5.manager.interfaces
      描述:

      此类是虚拟摇杆管理类,用于开启、关闭虚拟摇杆模式,并提供虚拟摇杆状态监听,虚拟摇杆移动量的获取与设置等功能。

      MSDK 5.0.0开始支持

      类成员:
      method enableVirtualStick
      void enableVirtualStick(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      开启虚拟摇杆模式。
      注意:
      1. 出于飞行安全考虑,飞行器在靠近限飞区或者限远距离30米时,遥控器会夺取飞行器控制权,虚拟摇杆功能无法使用。
      2. 虚拟摇杆普通模式默认支持避障。
      3. 虚拟摇杆高级模式下只有在垂直方向控制模式是速度模式,偏航轴控制模式是角速度并且横滚和俯仰轴控制模式是速度模式的组合下才支持避障。
      4. 目前只有 M300 RTK,M350 RTK,M30 系列和 Mavic 3E 系列和 Mavic 3M 飞行器支持在虚拟摇杆模式下避障。
      5. 若 Mavic 3E 系列和 Mavic 3M 机型固件版本低于 V7.01.10.03,在虚拟摇杆模式启动时,视觉避障不生效,建议升级到最新固件版本。


      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method disableVirtualStick
      void disableVirtualStick(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      关闭虚拟摇杆模式。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method getLeftStick
      IStick getLeftStick()
      包:dji.v5.manager.interfaces
      描述:

      获取虚拟摇杆中的左遥杆实例。左摇杆控制飞行器偏航轴和油门:

      • 此摇杆向左移动的时候(horizontalPosition为负数),俯视飞行器视角下,飞行器会逆时针转动。
      • 此摇杆向右移动的时候(horizontalPosition为正数),俯视飞行器视角下,飞行器会顺时针转动。
      • 此摇杆向上移动的时候(verticalPosition为正数),飞行器会升高自身高度。
      • 此摇杆向下移动的时候(verticalPosition为负数),飞行器会降低自身高度。


      MSDK 5.0.0开始支持

      返回值:
      IStick返回左摇杆实例。
      method getRightStick
      IStick getRightStick()
      包:dji.v5.manager.interfaces
      描述:

      获取虚拟摇杆中的右遥杆实例。右摇杆控制飞行器横滚轴和俯仰轴:

      • 此摇杆往左移动的时候(horizontalPosition为负数),飞行器自身视角下,飞行器会往左飞行。
      • 此摇杆往右移动的时候(horizontalPosition为正数),飞行器自身视角下,飞行器会往右边飞行。
      • 此摇杆向上移动的时候(verticalPosition为正数),飞行器自身视角下,飞行器会往前飞。
      • 此摇杆向下移动的时候(verticalPosition为负数),飞行器自身视角下,飞行器会往后飞。


      MSDK 5.0.0开始支持

      返回值:
      IStick返回右摇杆实例。
      method setVirtualStickAdvancedModeEnabled
      void setVirtualStickAdvancedModeEnabled(boolean isEnabled)
      包:dji.v5.manager.interfaces
      描述:

      开启虚拟摇杆高级模式。在高级模式下,左摇杆getLeftStick和右摇杆getLeftStick的控制数据将不再生效,你可以调用sendVirtualStickAdvancedParam设置更高级的控制参数,用于使用更复杂的应用场景,比如用虚拟摇杆实现航线相关功能。

      MSDK 5.1 .0开始支持

      输入参数:
      boolean isEnabledtrue表示开启虚拟摇杆高级模式。
      method sendVirtualStickAdvancedParam
      void sendVirtualStickAdvancedParam(@NonNull VirtualStickFlightControlParam param)
      包:dji.v5.manager.interfaces
      描述:

      发送虚拟摇杆高级控制参数。

    • 请先调用setVirtualStickAdvancedModeEnabled把高级模式打开后才能使用此接口。
    • 开发者可以根据自己的需求按照特定的频率发送控制参数,建议发送频率在5Hz到25Hz之间。
    • 高级控制参数的详细用法,请参阅虚拟摇杆
    • 高级控制参数范围请参考:VirtualStickRange


    • MSDK 5.1.0开始支持

      输入参数:
      @NonNull VirtualStickFlightControlParam param高级模式参数。
      method setVirtualStickStateListener
      void setVirtualStickStateListener(VirtualStickStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置虚拟遥杆状态的监听器。

      MSDK 5.0.0开始支持

      输入参数:
      VirtualStickStateListener listener虚拟遥杆状态的监听器
      method removeVirtualStickStateListener
      void removeVirtualStickStateListener(VirtualStickStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除虚拟遥杆状态的监听器。

      MSDK 5.0.0开始支持

      输入参数:
      VirtualStickStateListener listener虚拟遥杆状态的监听器
      method clearAllVirtualStickStateListener
      void clearAllVirtualStickStateListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有虚拟遥杆状态的监听器。

      MSDK 5.0.0开始支持

      class
      enum FlightControlAuthority
      enum FlightControlAuthority implements JNIProguardKeepTag
      包:dji.sdk.keyvalue.value.flightcontroller
      描述:

      飞行控制权。

      MSDK 5.0.0开始支持

      Enum Members:
      RC遥控器。
      MSDKMSDK。
      OSDKOSDK。
      Class Members:
      enum FlightControlAuthorityChangeReason
      enum FlightControlAuthorityChangeReason implements JNIProguardKeepTag
      包:dji.sdk.keyvalue.value.flightcontroller
      描述:

      飞行控制权变更原因。

      MSDK 5.0.0开始支持

      Enum Members:
      MSDK_REQUESTMSDK获取了控制权。
      OSDK_REQUESTOSDK获取了控制权。
      RC_LOST遥控器失去联系,重置控制权到遥控器。
      RC_NOT_P_MODE遥控器不在P档,重置控制权到遥控器。
      RC_SWITCH遥控器切换档位,重置控制权到遥控器。
      RC_PAUSE_STOP遥控器按下暂停键,重置控制权到遥控器。
      RC_ONE_KEY_GO_HOME飞行器返航,重置控制权到遥控器。
      BATTERY_LOW_GO_HOME飞行器低电量返航,重置控制权到遥控器。
      BATTERY_SUPER_LOW_LANDING飞行器低电量降落,重置控制权到遥控器。
      OSDK_LOSTOSDK失去联系,重置控制权到遥控器。
      NEAR_BOUNDARY飞行器靠近限飞区或者限远距离,重置控制权到遥控器。
      Class Members: