DJI Mobile SDK Documentation
    • setVisionAssistViewDirection

      设置辅助影像方向。 <i>MSDK 5.12.0开始支持</i></code> @param direction 辅助影像方向。 @param callback 返回执行结果的回调。

    • ...setVisionAssistViewDirection`切换辅助影像的方向。 <i>MSDK 5.12.0开始支持</i></code> @param enable...

    class ICameraStreamManager

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

    相机码流管理类。支持相机镜头的码流显示、获取码流数据和帧数据等功能。以下是接口使用流程:

  • 通过addAvailableCameraUpdatedListener添加监听器获取可用的相机索引。
  • 调用putCameraStreamSurface将相机码流的画面显示到特定的的surface中。
  • 添加码流数据监听器addReceiveStreamListener来接收码流数据,码流数据可用于自行解码显示和第三方直播等功能。
  • 添加帧数据监听器addFrameListener来接收帧数据。帧数据可以用于AI识别等功能的算法处理。


  • MSDK 5.8.0开始支持

    类成员:
    method addAvailableCameraUpdatedListener
    void addAvailableCameraUpdatedListener(@NonNull AvailableCameraUpdatedListener listener)
    包:dji.v5.manager.interfaces
    描述:

    设置可用相机监听器。通过此监听器可以监听可用的相机索引。获取到可用的相机索引以后可以调用putCameraStreamSurface显示特定相机的码流。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull AvailableCameraUpdatedListener listener可用相机监听器
    method removeAvailableCameraUpdatedListener
    void removeAvailableCameraUpdatedListener(@NonNull AvailableCameraUpdatedListener listener)
    包:dji.v5.manager.interfaces
    描述:

    移除可用相机监听器。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull AvailableCameraUpdatedListener listener可用相机监听器
    method putCameraStreamSurface
    void putCameraStreamSurface(@NonNull ComponentIndexType cameraIndex,
    @NonNull Surface surface,
    int surfaceWidth,
    int surfaceHeight,
    @NonNull ScaleType scaleType)
    包:dji.v5.manager.interfaces
    描述:

    将相机码流的画面显示到特定的的surface中,单个surface只能显示一个相机的码流画面。如果针对同一个surface多次调用此接口,将进行该surface的参数更新,比如更新相机索引,surface的宽高和缩放类型。
    注意:
    如果你希望显示不同相机镜头的画面,你可以调用KeyCameraVideoStreamSource进行相机镜头切换。


    MSDK 5.8.0开始支持

    输入参数:
    @NonNull ComponentIndexType cameraIndex设置需要进行码流显示的相机索引。
    @NonNull Surface surface设置需要进行码流显示的surface。支持SurfaceView、TextureView和MediaCodeC的surface,不支持GLSurfaceView的surface以及任何和OpenGL绑定的surface。
    int surfaceWidth设置需要进行码流显示的surface宽度。
    int surfaceHeight设置需要进行码流显示的surface高度。
    @NonNull ScaleType scaleType设置需要进行码流显示的surface的缩放类型。
    method removeCameraStreamSurface
    void removeCameraStreamSurface(@NonNull Surface surface)
    包:dji.v5.manager.interfaces
    描述:

    移除已经添加的surface,当你不再需要使用该surface的时候,请调用此接口移除已经添加的surface,否则会导致内存泄漏。移除后该surface将不再显示相机画面。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull Surface surface设置需要移除的Surface。
    method addReceiveStreamListener
    void addReceiveStreamListener(@NonNull ComponentIndexType cameraIndex, @NonNull ReceiveStreamListener listener)
    包:dji.v5.manager.interfaces
    描述:

    添加码流数据监听器。通过此监听器可以接收指定相机的码流数据。你可以使用此码流数据自行解码显示或者实现第三方直播等功能。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull ComponentIndexType cameraIndex设置需要监听的相机索引。
    @NonNull ReceiveStreamListener listener码流数据监听器
    method removeReceiveStreamListener
    void removeReceiveStreamListener(@NonNull ReceiveStreamListener listener)
    包:dji.v5.manager.interfaces
    描述:

    移除码流数据监听器。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull ReceiveStreamListener listener码流数据监听器
    method addFrameListener
    void addFrameListener(@NonNull ComponentIndexType cameraIndex,
    @NonNull FrameFormat format,
    @NonNull CameraFrameListener listener)
    包:dji.v5.manager.interfaces
    描述:

    添加帧数据监听器。通过此监听器可以监听指定相机解码后的帧数据,你可以使用帧数据实现AI识别等功能。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull ComponentIndexType cameraIndex设置需要监听的相机索引。
    @NonNull FrameFormat format设置需要监听的帧格式。
    @NonNull CameraFrameListener listener帧数据监听器
    method removeFrameListener
    void removeFrameListener(@NonNull CameraFrameListener listener)
    包:dji.v5.manager.interfaces
    描述:

    移除帧数据监听器。

    MSDK 5.8.0开始支持

    输入参数:
    @NonNull CameraFrameListener listener帧数据监听器
    method setKeepAliveDecoding
    void setKeepAliveDecoding(boolean isKeepALive)
    包:dji.v5.manager.interfaces
    描述:

    是否让解码器在后台持续解码,默认值为false。如果为false,当模块内部没有引用任何Surface、ReceiveStreamListener、CameraFrameListener的时候,解码器会暂停解码以降低后台性能/电量的消耗,但是这会增加首次推送相机码流数据的延迟。如果为true,那么解码器会持续在后台解码,这会增加性能/电量的消耗,但是可以降低首次推送相机码流数据的延迟。

    MSDK 5.8.0开始支持

    输入参数:
    boolean isKeepALivetrue表示解码器在后台持续解码。
    method getLiveViewLocationWithGPS
    @NonNull
    PinPointInfo getLiveViewLocationWithGPS(@NonNull LocationCoordinate3D pointPos, @NonNull ComponentIndexType type)
    包:dji.v5.manager.interfaces
    描述:

    获取GPS点的Pin点信息,用于在图传界面中显示GPS点的相对位置。

    MSDK 5.9.0开始支持

    输入参数:
    @NonNull LocationCoordinate3D pointPosGPS位置,可以通过KeyLaserMeasureInformationgetLocation3D接口获取位置,也可以通过地图获取位置。
    @NonNull ComponentIndexType type设置当前码流显示的相机索引。
    返回值:
    PinPointInfo返回Pin点信息。
    method enableVisionAssist
    void enableVisionAssist(boolean enabled, @Nullable CommonCallbacks.CompletionCallback callback)
    包:dji.v5.manager.interfaces
    描述:

    开启辅助影像功能。辅助影像功能开启后,飞行界面右下角会显示视觉传感器画面(Spotlight Pro、航线飞行、返航模式下不支持开启飞行辅助影像)。你可以调用setVisionAssistViewDirection切换辅助影像的方向。

    MSDK 5.12.0开始支持

    输入参数:
    boolean enabledtrue表示开启辅助影像。
    @Nullable CommonCallbacks.CompletionCallback callback返回执行结果的回调。
    method setVisionAssistViewDirection
    void setVisionAssistViewDirection(VisionAssistDirection direction, @Nullable CommonCallbacks.CompletionCallback callback)
    包:dji.v5.manager.interfaces
    描述:

    设置辅助影像方向。

    MSDK 5.12.0开始支持

    输入参数:
    VisionAssistDirection direction辅助影像方向。
    @Nullable CommonCallbacks.CompletionCallback callback返回执行结果的回调。
    method addVisionAssistStatusListener
    void addVisionAssistStatusListener(@NonNull VisionAssistStatusListener listener)
    包:dji.v5.manager.interfaces
    描述:

    添加辅助影像状态监听器。通过此监听器可以获取辅助影像的开关状态,设置的辅助影像的方向以及支持的辅助影像方向范围等功能。

    MSDK 5.12.0开始支持

    输入参数:
    @NonNull VisionAssistStatusListener listener辅助影像状态监听器
    method removeVisionAssistStatusListener
    void removeVisionAssistStatusListener(@NonNull VisionAssistStatusListener listener)
    包:dji.v5.manager.interfaces
    描述:

    移除辅助影像状态监听器。

    MSDK 5.12.0开始支持

    输入参数:
    @NonNull VisionAssistStatusListener listener辅助影像状态监听器
    method setStreamEncoderBitrate
    void setStreamEncoderBitrate(ComponentIndexType cameraIndex, int bitrate)
    包:dji.v5.manager.interfaces
    描述:

    设置编码器的码率,单位:bit/s。

    MSDK 5.12.0开始支持

    输入参数:
    ComponentIndexType cameraIndex相机索引。
    int bitrate编码器的码率。
    method getStreamEncoderBitrate
    int getStreamEncoderBitrate(ComponentIndexType cameraIndex)
    包:dji.v5.manager.interfaces
    描述:

    获取编码器的码率。

    MSDK 5.12.0开始支持

    输入参数:
    ComponentIndexType cameraIndex相机索引。
    返回值:
    int返回对应相机索引的编码器码率。
    unknown
    unknown
    interface AvailableCameraUpdatedListener
    包:dji.v5.manager.interfaces
    描述:

    可用相机监听器。

    MSDK 5.8.0开始支持

    unknown
    unknown
    interface CameraFrameListener
    包:dji.v5.manager.interfaces
    描述:

    帧数据监听器。

    MSDK 5.8.0开始支持

    unknown
    unknown
    interface ReceiveStreamListener
    包:dji.v5.manager.interfaces
    描述:

    码流数据监听器。

    MSDK 5.8.0开始支持

    unknown
    unknown
    interface VisionAssistStatusListener
    包:dji.v5.manager.interfaces
    描述:

    辅助影像监听器。

    MSDK 5.12.0开始支持

    enum VisionAssistDirection
    enum VisionAssistDirection implements JNIProguardKeepTag
    包:dji.sdk.keyvalue.value.flightassistant
    描述:

    辅助影像模式。

    MSDK 5.12.0开始支持

    Enum Members:
    OFF关闭。
    FRONT手动模式:前。
    LEFT手动模式:左。
    RIGHT手动模式:右。
    UP手动模式:上。
    DOWN手动模式:下。
    AUTO自动模式,相机将基于飞行方向自动切换视觉传感器画面。
    Class Members:
    unknown
    unknown
    enum MimeType
    包:dji.v5.manager.interfaces
    描述:

    编解码的媒体类型,支持H264和H265。

    MSDK 5.8.0开始支持

    unknown
    unknown
    enum ScaleType
    包:dji.v5.manager.interfaces
    描述:

    画面缩放类型。

    MSDK 5.8.0开始支持

    unknown
    unknown
    enum FrameFormat
    包:dji.v5.manager.interfaces
    描述:

    帧数据格式。

    MSDK 5.8.0开始支持


    Members

    enum
    enum Result
    enum Result
    包:dji.v5.manager.datacenter.camera.view
    描述:

    Pin点回调结果。

    Enum Members:
    SUCCESS成功获取Pin点位置,Pin点在图传界面中。
    SUCCESS_BUT_OUT_OF_SCREEN成功获取Pin点位置,但该点不在图传界面中,应该显示在侧面,请参考DJI Pilot。
    FAILED获取Pin点位置失败。
    INVALID_DRONE_POSITION获取Pin点位置失败,因为无法获取飞行器位置。
    INVALID_POINT_POSITION获取Pin点位置失败,因为设置的GPS位置是无效的。
    GIMBAL_ATTI_ERROR获取Pin点位置失败,因为云台姿态是无效的。
    CAMEAR_ERROR获取Pin点位置失败,因为相机错误。
    Class Members: