# 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点信息。

##### Related:

class
AvailableCameraUpdatedListener
class
CameraFrameListener
class
ReceiveStreamListener
class
StreamInfo
enum
MimeType

###### enum MimeType

    enum MimeType

包： | dji.v5.manager.interfaces

##### 描述：

编解码的媒体类型，支持H264和H265。
`MSDK 5.8.0开始支持`

##### Enum Members:

H264 | H264
H265 | H265

##### Class Members:

unknown

###### unknown

    enum ScaleType

包： | dji.v5.manager.interfaces

##### 描述：

画面缩放类型。
`MSDK 5.8.0开始支持`

enum
FrameFormat

###### enum FrameFormat

    enum FrameFormat

包： | dji.v5.manager.interfaces

##### 描述：

帧数据格式。
`MSDK 5.8.0开始支持`

##### Enum Members:

YUV420_888 | YUV420_888
YUV444_888 | YUV444_888
YUY2 | YUV2
NV21 | NV21
RGBA_8888 | RGBA_8888

##### Class Members:

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

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