# class IVideoDecoder

    @Deprecated
     interface IVideoDecoder

包： | dji.v5.common.video.interfaces

##### 描述：

DJI码流解码器类。支持YUV输出模式和SURFACE输出模式。你可以通过构造函数设置解码器输出模式`DecoderOutputMode`，通过设置`VideoChannelType`来绑定需要进行解码的`IVideoChannel`。
注意： 如果开发者通过构造函数自行设置解码器的宽(width)和高(height)，需要保证设置的宽和高是16的倍数。
`MSDK 5.0.0开始支持`

##### 类成员:

method
VideoDecoder

###### method VideoDecoder

    VideoDecoder(Context context,
                           VideoChannelType channelType,
                           DecoderOutputMode outputMode,
                           Object outputSurface,
                           int width,
                           int height,
                           boolean isForLiveStream)

包： | dji.v5.common.video.decoder

##### 描述：

VideoDecoder构造函数。
注意： 如果开发者通过构造函数自行设置解码器的宽(width)和高(height)，需要保证设置的宽和高是16的倍数。
`MSDK 5.0.0开始支持`

##### 输入参数：

Context context | 应用的Context实例。
VideoChannelType channelType | 码流通道类型。
DecoderOutputMode outputMode | 输出模式。
Object outputSurface | 输出Surface实例，可以使用SurfaceView或者SurfaceHolder。
int width | 解码器的宽。
int height | 解码器的高。
boolean isForLiveStream | `true`表示该解码器用于直播解码。

method
getDecoderOutputMode

###### method getDecoderOutputMode

    @NonNull
        DecoderOutputMode getDecoderOutputMode()

包： | dji.v5.common.video.interfaces

##### 描述：

获取解码器输出模式。
`MSDK 5.0.0开始支持`

##### 返回值：

DecoderOutputMode | 返回解码器输出模式。

method
getVideoChannelType

###### method getVideoChannelType

    VideoChannelType getVideoChannelType()

包： | dji.v5.common.video.interfaces

##### 描述：

获取解码器对应的码流通道类型。
`MSDK 5.0.0开始支持`

##### 返回值：

VideoChannelType | 返回解码器对应的码流通道类型。

method
setMediaFile

###### method setMediaFile

    void setMediaFile(MediaFile mediaFile)

包： | dji.v5.common.video.interfaces

##### 描述：

设置需要进行解码的媒体文件。在`playVideo`之前需要调用此接口把需要解码的媒体文件设置到解码器中。
`MSDK 5.1.0开始支持`

##### 输入参数：

MediaFile mediaFile | 需要进行解码的媒体文件。

method
getMediaFile

###### method getMediaFile

    MediaFile getMediaFile()

包： | dji.v5.common.video.interfaces

##### 描述：

获取需要进行解码的媒体文件。
`MSDK 5.1.0开始支持`

##### 返回值：

MediaFile | 返回需要进行解码的媒体文件。

method
queueInFrame

###### method queueInFrame

    void queueInFrame(@NonNull IVideoFrame videoFrame)

包： | dji.v5.common.video.interfaces

##### 描述：

将视频帧数据送入队列进行解码。对于码流管理模块`IVideoStreamManager`的使用无需调用此接口，因为MSDK会自动把数据送到相应的解码器进行解码显示。此接口可用于`IMediaManager`模块的`playVideo`返回的IVideoFrmae帧数据解码显示播放。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull IVideoFrame videoFrame | 视频帧数据。

method
getVideoWidth

###### method getVideoWidth

    int getVideoWidth()

包： | dji.v5.common.video.interfaces

##### 描述：

获取解码后的视频宽度。
`MSDK 5.0.0开始支持`

##### 返回值：

int | 返回解码后的视频宽度。

method
getVideoHeight

###### method getVideoHeight

    int getVideoHeight()

包： | dji.v5.common.video.interfaces

##### 描述：

获取解码后的视频高度。
`MSDK 5.0.0开始支持`

##### 返回值：

int | 返回解码后的视频高度。

method
addYuvDataListener

###### method addYuvDataListener

    void addYuvDataListener(@NonNull YuvDataListener listener)

包： | dji.v5.common.video.interfaces

##### 描述：

设置YUV数据监听器。设置`DecoderOutputMode`为`YUV_MODE`后，可通过此监听器获取到通过解码器解码后的YUV数据。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull YuvDataListener listener | YUV数据监听器

method
removeYuvDataListener

###### method removeYuvDataListener

    void removeYuvDataListener(@NonNull YuvDataListener listener)

包： | dji.v5.common.video.interfaces

##### 描述：

删除YUV数据监听器。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull YuvDataListener listener | YUV数据监听器

method
clearAllYuvDataListeners

###### method clearAllYuvDataListeners

    void clearAllYuvDataListeners()

包： | dji.v5.common.video.interfaces

##### 描述：

移除所有YUV数据监听器。
`MSDK 5.0.0开始支持`

method
addDecoderStateChangeListener

###### method addDecoderStateChangeListener

    void addDecoderStateChangeListener(@NonNull DecoderStateChangeListener listener)

包： | dji.v5.common.video.interfaces

##### 描述：

设置解码器状态监听器。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull DecoderStateChangeListener listener | 解码器状态监听器

method
removeDecoderStateChangeListener

###### method removeDecoderStateChangeListener

    void removeDecoderStateChangeListener(@NonNull DecoderStateChangeListener listener)

包： | dji.v5.common.video.interfaces

##### 描述：

删除解码器状态监听器。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull DecoderStateChangeListener listener | 解码器状态监听器

method
clearAllDecoderStateChangeListeners

###### method clearAllDecoderStateChangeListeners

    void clearAllDecoderStateChangeListeners()

包： | dji.v5.common.video.interfaces

##### 描述：

移除所有解码器状态监听器。
`MSDK 5.0.0开始支持`

method
getDecoderStatus

###### method getDecoderStatus

    @NonNull
        DecoderState getDecoderStatus()

包： | dji.v5.common.video.interfaces

##### 描述：

获取解码器状态。
`MSDK 5.0.0开始支持`

##### 返回值：

DecoderState | 返回解码器状态。

method
onPause

###### method onPause

    void onPause()

包： | dji.v5.common.video.interfaces

##### 描述：

设置解码器进入暂停解码状态。
`MSDK 5.0.0开始支持`

method
onResume

###### method onResume

    void onResume()

包： | dji.v5.common.video.interfaces

##### 描述：

设置解码器恢复解码状态。
`MSDK 5.0.0开始支持`

method
destroy

###### method destroy

    void destroy()

包： | dji.v5.common.video.interfaces

##### 描述：

销毁解码器实例，释放资源。
`MSDK 5.0.0开始支持`

##### Related:

enum
DecoderOutputMode

###### enum DecoderOutputMode

    @Deprecated
     enum DecoderOutputMode

包： | dji.v5.common.video.decoder

##### 描述：

解码器输出模式。支持YUV输出模式和SURFACE输出模式。
`MSDK 5.0.0开始支持`

##### Enum Members:

YUV_MODE | YUV输出模式。
SURFACE_MODE | SURFACE输出模式。

##### Class Members:

enum
DecoderState

###### enum DecoderState

    @Deprecated
     enum DecoderState

包： | dji.v5.common.video.decoder

##### 描述：

解码器状态。
`MSDK 5.0.0开始支持`

##### Enum Members:

INITIALIZED | 解码器初始化完成。
VIDEO_FRAME_INPUT | 解码器处于视频帧输入状态。
DECODING | 解码器处于视频帧解码状态。
PAUSED | 解码器处于暂停状态。

##### Class Members:

class
YuvDataListener
class
DecoderStateChangeListener
×

## 搜索 Mobile SDK 文档

{{searchCount}} 搜索结果

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

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

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