DJI Mobile SDK Documentation

      class IMediaManager

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

      多媒体文件管理类。提供多媒体文件列表下载,多媒体文件预览,下载和视频播放等功能。

      MSDK 5.0.0开始支持

      类成员:
      method
      method enable
      void enable( CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      进入多媒体文件管理模块。调用此接口后,相机会进入多媒体文件管理模块,此模式下,你可以拉取多媒体文件列表,可以播放相机中的视频。与此同时,相机将无法拍照录像,图传将无法正常显示,建议你在进入相册功能时调用此接口。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method
      method disable
      void disable(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      退出多媒体文件管理模块。调用此接口后,相机会退出多媒体文件管理模块,相机可正常拍照录像,图传将正常显示,建议你在退出相册功能时调用此接口。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method addMediaFileListStateListener
      void addMediaFileListStateListener(MediaFileListStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置多媒体文件列表状态监听器。通过此监听器可以监听多媒体文件列表的状态。

      MSDK 5.0.0开始支持

      输入参数:
      MediaFileListStateListener listener多媒体文件列表状态监听器
      method removeMediaFileListStateListener
      void removeMediaFileListStateListener(MediaFileListStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      删除多媒体文件列表状态监听器。

      MSDK 5.0.0开始支持

      输入参数:
      MediaFileListStateListener listener多媒体文件列表状态监听器
      method removeAllMediaFileListStateListener
      void removeAllMediaFileListStateListener()
      包:dji.v5.manager.interfaces
      描述:

      删除所有多媒体文件列表状态监听器。

      MSDK 5.0.0开始支持

      method getMediaFileListState
      MediaFileListState getMediaFileListState()
      包:dji.v5.manager.interfaces
      描述:

      获取多媒体文件列表状态,这是一个同步接口。

      MSDK 5.0.0开始支持

      返回值:
      MediaFileListState返回多媒体文件列表状态。
      method setMediaFileDataSource
      void setMediaFileDataSource(MediaFileListDataSource source)
      包:dji.v5.manager.interfaces
      描述:

      设置需要获取的多媒体文件数据源。你可以选择拉取不同存储位置和不同负载中的多媒体文件。

      MSDK 5.0.0开始支持

      输入参数:
      MediaFileListDataSource source多媒体文件数据源。
      method pullMediaFileListFromCamera
      void pullMediaFileListFromCamera(@NonNull PullMediaFileListParam param, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      从相机中拉取多媒体文件列表。当多媒体文件列表状态MediaFileListStateIDLE时,需要调用此方法从相机中拉取全量数据,当多媒体文件列表状态MediaFileListState变为UP_TO_DATE时,表示拉取多媒体文件列表已完成,请调用getMediaFileListData获取多媒体文件列表数据。

      MSDK 5.0.0开始支持

      输入参数:
      @NonNull PullMediaFileListParam param多媒体文件列表参数。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method stopPullMediaFileListFromCamera
      void stopPullMediaFileListFromCamera()
      包:dji.v5.manager.interfaces
      描述:

      停止从相机中拉取多媒体文件列表。

      MSDK 5.0.0开始支持

      method getMediaFileListData
      MediaFileListData getMediaFileListData()
      包:dji.v5.manager.interfaces
      描述:

      获取多媒体文件列表数据。当监听到多媒体文件列表状态MediaFileListStateUP_TO_DATE时,说明多媒体文件列表有更新,需要再次调用此接口更新多媒体文件列表数据。

      MSDK 5.0.0开始支持

      返回值:
      MediaFileListData返回多媒体文件列表数据。
      method deleteMediaFiles
      void deleteMediaFiles(List<MediaFile> files, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      删除相机中的多媒体文件。调用此接口后,多媒体文件列表状态MediaFileListState会变成UPDATING,当删除操作完成以后,多媒体文件列表状态MediaFileListStateUP_TO_DATE,请调用getMediaFileListData更新多媒体文件列表数据。

      MSDK 5.0.0开始支持

      输入参数:
      List<MediaFile> files需要删除的多媒体文件列表。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method
      method playVideo
      void playVideo(MediaFile mediaFile, CommonCallbacks.CompletionCallbackWithParam<IVideoFrame> callback)
      包:dji.v5.manager.interfaces
      描述:

      开始播放设置的多媒体文件,媒体文件数据通过回调方法的获取。

    • 1. 如果你希望自己实现解码以播放视频,你通过callback中获取到的视频帧数据IVideoFrame,调用自定义解码器进行解码以播放视频。
    • 2. 你也可以使用DJI提供的解码器IVideoDecoder来进行解码以播放视频。用EXTENDED_STREAM_CHANNEL初始化IVideoDecoder,然后调用setMediaFile把需要解码的媒体文件设置到解码器中,最后调用queueInFrame将callback中获取到的视频帧数据IVideoFrame送入队列进行解码。


    • MSDK 5.0.0开始支持

      输入参数:
      MediaFile mediaFile需要播放的多媒体文件。
      CommonCallbacks.CompletionCallbackWithParam<IVideoFrame> callback返回执行结果的回调。
      method
      method seekVideo
      void seekVideo(int position, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      跳转播放多媒体文件。可以设置新的播放位置开始播放。

      MSDK 5.0.0开始支持

      输入参数:
      int position需要跳转播放的位置,单位:秒。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method pauseVideo
      void pauseVideo(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      暂停播放多媒体文件。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method resumeVideo
      void resumeVideo(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      恢复播放多媒体文件。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method
      method stopVideo
      void stopVideo(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      停止播放多媒体文件。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method addVideoPlayStateListener
      void addVideoPlayStateListener(VideoPlayStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置多媒体文件播放状态监听器。通过此监听器可以监听多媒体文件播放的状态。

      MSDK 5.0.0开始支持

      输入参数:
      VideoPlayStateListener listener多媒体文件播放状态监听器
      method removeVideoPlayStateListener
      void removeVideoPlayStateListener(VideoPlayStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      删除多媒体文件播放状态监听器。

      MSDK 5.0.0开始支持

      输入参数:
      VideoPlayStateListener listener多媒体文件播放状态监听器
      method removeAllVideoPlayStateListener
      void removeAllVideoPlayStateListener()
      包:dji.v5.manager.interfaces
      描述:

      删除所有多媒体文件列表播放监听器。

      MSDK 5.0.0开始支持

      method
      method release
      void release()
      包:dji.v5.manager.interfaces
      描述:

      资源释放。调用此接口将会取消多媒体文件数据下载,清空缩略图缓存,清空多媒体文件列表数据。建议你在系统内存不足的时候调用。

      MSDK 5.0.0开始支持

      enum MediaFileFilter
      enum MediaFileFilter
      包:dji.v5.manager.datacenter.media
      描述:

      拉取多媒体文件列表过滤器设置类。

      MSDK 5.0.0开始支持

      Enum Members:
      VIDEO视频。
      PHOTO照片。
      ALL所有多媒体文件。
      Class Members:
      enum MediaFileListState
      enum MediaFileListState
      包:dji.v5.manager.datacenter.media
      描述:

      多媒体文件列表状态。

      MSDK 5.0.0开始支持

      Enum Members:
      IDLE空闲状态。当多媒体文件列表为空闲状态时,需要调用pullMediaFileListFromCamera从相机中拉取全量数据。
      UP_TO_DATE最新状态。当多媒体文件列表为最新状态时,需要调用getMediaFileListData更新多媒体文件列表数据。
      UPDATING更新中状态。当多媒体文件列表为更新中状态时,表示MSDK正在跟相机中的数据进行同步,当同步完成后,状态会变成UP_TO_DATE,需要调用getMediaFileListData更新多媒体文件列表数据。
      Class Members:
      enum VideoPlayState
      enum VideoPlayState
      包:dji.v5.manager.datacenter.media
      描述:

      多媒体文件播放状态枚举类型。

      MSDK 5.0.0开始支持

      Enum Members:
      IDLE空闲状态。未开启多媒体文件播放功能,可以调用playVideo进行多媒体文件播放。
      PLAYING播放中。
      ENDED播放结束。
      STOPPED停止播放。当调用stopVideo接口成功停止播放多媒体文件后会回调此状态。
      Class Members: