DJI Mobile SDK Documentation

      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
      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 isForLiveStreamtrue表示该解码器用于直播解码。
      method getDecoderOutputMode
      @NonNull
      DecoderOutputMode getDecoderOutputMode()
      包:dji.v5.common.video.interfaces
      描述:

      获取解码器输出模式。

      MSDK 5.0.0开始支持

      返回值:
      DecoderOutputMode返回解码器输出模式。
      method getVideoChannelType
      VideoChannelType getVideoChannelType()
      包:dji.v5.common.video.interfaces
      描述:

      获取解码器对应的码流通道类型。

      MSDK 5.0.0开始支持

      返回值:
      VideoChannelType返回解码器对应的码流通道类型。
      method setMediaFile
      void setMediaFile(MediaFile mediaFile)
      包:dji.v5.common.video.interfaces
      描述:

      设置需要进行解码的媒体文件。在playVideo之前需要调用此接口把需要解码的媒体文件设置到解码器中。

      MSDK 5.1.0开始支持

      输入参数:
      MediaFile mediaFile需要进行解码的媒体文件。
      method getMediaFile
      MediaFile getMediaFile()
      包:dji.v5.common.video.interfaces
      描述:

      获取需要进行解码的媒体文件。

      MSDK 5.1.0开始支持

      返回值:
      MediaFile返回需要进行解码的媒体文件。
      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
      int getVideoWidth()
      包:dji.v5.common.video.interfaces
      描述:

      获取解码后的视频宽度。

      MSDK 5.0.0开始支持

      返回值:
      int返回解码后的视频宽度。
      method getVideoHeight
      int getVideoHeight()
      包:dji.v5.common.video.interfaces
      描述:

      获取解码后的视频高度。

      MSDK 5.0.0开始支持

      返回值:
      int返回解码后的视频高度。
      method addYuvDataListener
      void addYuvDataListener(@NonNull YuvDataListener listener)
      包:dji.v5.common.video.interfaces
      描述:

      设置YUV数据监听器。设置DecoderOutputModeYUV_MODE后,可通过此监听器获取到通过解码器解码后的YUV数据。

      MSDK 5.0.0开始支持

      输入参数:
      @NonNull YuvDataListener listenerYUV数据监听器
      method removeYuvDataListener
      void removeYuvDataListener(@NonNull YuvDataListener listener)
      包:dji.v5.common.video.interfaces
      描述:

      删除YUV数据监听器。

      MSDK 5.0.0开始支持

      输入参数:
      @NonNull YuvDataListener listenerYUV数据监听器
      method clearAllYuvDataListeners
      void clearAllYuvDataListeners()
      包:dji.v5.common.video.interfaces
      描述:

      移除所有YUV数据监听器。

      MSDK 5.0.0开始支持

      method addDecoderStateChangeListener
      void addDecoderStateChangeListener(@NonNull DecoderStateChangeListener listener)
      包:dji.v5.common.video.interfaces
      描述:

      设置解码器状态监听器。

      MSDK 5.0.0开始支持

      输入参数:
      @NonNull DecoderStateChangeListener listener解码器状态监听器
      method removeDecoderStateChangeListener
      void removeDecoderStateChangeListener(@NonNull DecoderStateChangeListener listener)
      包:dji.v5.common.video.interfaces
      描述:

      删除解码器状态监听器。

      MSDK 5.0.0开始支持

      输入参数:
      @NonNull DecoderStateChangeListener listener解码器状态监听器
      method clearAllDecoderStateChangeListeners
      void clearAllDecoderStateChangeListeners()
      包:dji.v5.common.video.interfaces
      描述:

      移除所有解码器状态监听器。

      MSDK 5.0.0开始支持

      method getDecoderStatus
      @NonNull
      DecoderState getDecoderStatus()
      包:dji.v5.common.video.interfaces
      描述:

      获取解码器状态。

      MSDK 5.0.0开始支持

      返回值:
      DecoderState返回解码器状态。
      method
      method onPause
      void onPause()
      包:dji.v5.common.video.interfaces
      描述:

      设置解码器进入暂停解码状态。

      MSDK 5.0.0开始支持

      method
      method onResume
      void onResume()
      包:dji.v5.common.video.interfaces
      描述:

      设置解码器恢复解码状态。

      MSDK 5.0.0开始支持

      method
      method destroy
      void destroy()
      包:dji.v5.common.video.interfaces
      描述:

      销毁解码器实例,释放资源。

      MSDK 5.0.0开始支持

      enum DecoderOutputMode
      @Deprecated
      enum DecoderOutputMode
      包:dji.v5.common.video.decoder
      描述:

      解码器输出模式。支持YUV输出模式和SURFACE输出模式。

      MSDK 5.0.0开始支持

      Enum Members:
      YUV_MODEYUV输出模式。
      SURFACE_MODESURFACE输出模式。
      Class Members:
      enum DecoderState
      @Deprecated
      enum DecoderState
      包:dji.v5.common.video.decoder
      描述:

      解码器状态。

      MSDK 5.0.0开始支持

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