# class ICameraStreamManager

    interface ICameraStreamManager

包： | dji.v5.manager.interfaces

##### 描述：

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

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

##### 类成员:

method
addAvailableCameraUpdatedListener

###### method addAvailableCameraUpdatedListener

    void addAvailableCameraUpdatedListener(@NonNull AvailableCameraUpdatedListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

@NonNull AvailableCameraUpdatedListener listener | 可用相机监听器

method
removeAvailableCameraUpdatedListener

###### method removeAvailableCameraUpdatedListener

    void removeAvailableCameraUpdatedListener(@NonNull AvailableCameraUpdatedListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

移除可用相机监听器。
`MSDK 5.8.0开始支持`

##### 输入参数：

@NonNull AvailableCameraUpdatedListener listener | 可用相机监听器

method
putCameraStreamSurface

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

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

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

###### method removeReceiveStreamListener

    void removeReceiveStreamListener(@NonNull ReceiveStreamListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

移除码流数据监听器。
`MSDK 5.8.0开始支持`

##### 输入参数：

@NonNull ReceiveStreamListener listener | 码流数据监听器

method
addFrameListener

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

###### method removeFrameListener

    void removeFrameListener(@NonNull CameraFrameListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

移除帧数据监听器。
`MSDK 5.8.0开始支持`

##### 输入参数：

@NonNull CameraFrameListener listener | 帧数据监听器

method
setKeepAliveDecoding

###### method setKeepAliveDecoding

    void setKeepAliveDecoding(boolean isKeepALive)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

boolean isKeepALive | `true`表示解码器在后台持续解码。

method
getLiveViewLocationWithGPS

###### method getLiveViewLocationWithGPS

    @NonNull
        PinPointInfo getLiveViewLocationWithGPS(@NonNull LocationCoordinate3D pointPos, @NonNull ComponentIndexType type)

包： | dji.v5.manager.interfaces

##### 描述：

获取GPS点的Pin点信息，用于在图传界面中显示GPS点的相对位置。
`MSDK 5.9.0开始支持`

##### 输入参数：

@NonNull LocationCoordinate3D pointPos | GPS位置，可以通过`KeyLaserMeasureInformation`的 `getLocation3D`接口获取位置，也可以通过地图获取位置。
@NonNull ComponentIndexType type | 设置当前码流显示的相机索引。

##### 返回值：

PinPointInfo | 返回Pin点信息。

method
enableVisionAssist

###### method enableVisionAssist

    void enableVisionAssist(boolean enabled, @Nullable CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

boolean enabled | `true`表示开启辅助影像。
@Nullable CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
setVisionAssistViewDirection

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

###### method addVisionAssistStatusListener

    void addVisionAssistStatusListener(@NonNull VisionAssistStatusListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

@NonNull VisionAssistStatusListener listener | 辅助影像状态监听器

method
removeVisionAssistStatusListener

###### method removeVisionAssistStatusListener

    void removeVisionAssistStatusListener(@NonNull VisionAssistStatusListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

移除辅助影像状态监听器。
`MSDK 5.12.0开始支持`

##### 输入参数：

@NonNull VisionAssistStatusListener listener | 辅助影像状态监听器

method
setStreamEncoderBitrate

###### method setStreamEncoderBitrate

    void setStreamEncoderBitrate(ComponentIndexType cameraIndex, int bitrate)

包： | dji.v5.manager.interfaces

##### 描述：

设置编码器的码率，单位：bit/s。
`MSDK 5.12.0开始支持`

##### 输入参数：

ComponentIndexType cameraIndex | 相机索引。
int bitrate | 编码器的码率。

method
getStreamEncoderBitrate

###### method getStreamEncoderBitrate

    int getStreamEncoderBitrate(ComponentIndexType cameraIndex)

包： | dji.v5.manager.interfaces

##### 描述：

获取编码器的码率。
`MSDK 5.12.0开始支持`

##### 输入参数：

ComponentIndexType cameraIndex | 相机索引。

##### 返回值：

int | 返回对应相机索引的编码器码率。

method
setStreamPriority

###### method setStreamPriority

    void setStreamPriority(ComponentIndexType cameraIndex, ChannelPriority priority)

包： | dji.v5.manager.interfaces

##### 描述：

设置图传通道优先级。
`MSDK 5.15.0开始支持`

##### 输入参数：

ComponentIndexType cameraIndex | 相机索引。
ChannelPriority priority | 图传通道优先级

method
getStreamPriority

###### method getStreamPriority

    ChannelPriority getStreamPriority(ComponentIndexType cameraIndex)

包： | dji.v5.manager.interfaces

##### 描述：

读取图传通道优先级。
`MSDK 5.15.0开始支持`

##### 输入参数：

ComponentIndexType cameraIndex | 相机索引。

##### 返回值：

ChannelPriority | 返回图传通道优先级。

method
enableStream

###### method enableStream

    void enableStream(ComponentIndexType cameraIndex, boolean enable)

包： | dji.v5.manager.interfaces

##### 描述：

开启/关闭图传。
`MSDK 5.15.0开始支持`

##### 输入参数：

ComponentIndexType cameraIndex | 相机索引。
boolean enable | 开启/关闭图传。

##### Related:

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

    enum VisionAssistDirection implements JNIProguardKeepTag

包： | dji.sdk.keyvalue.value.flightassistant

##### 描述：

辅助影像模式。
`MSDK 5.12.0开始支持`

##### Enum Members:

OFF | 关闭。
FRONT | 手动模式：前。
LEFT | 手动模式：左。
RIGHT | 手动模式：右。
UP | 手动模式：上。
DOWN | 手动模式：下。
AUTO | 自动模式，相机将基于飞行方向自动切换视觉传感器画面。

##### Class Members:

class
StreamInfo
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开始支持`

class
PinPointInfo
class
PinPoint

#### Members

enum
Result

###### 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:

×

## 搜索 Mobile SDK 文档

{{searchCount}} 搜索结果

- ### {{{(item.highlights && item.highlights.title) || item.title}}}

  {{{(item.highlights && item.highlights.content[0]) || item.title}}}

加载更多
加载中...
未找到结果