# class IMediaManager

    interface IMediaManager

包： | dji.v5.manager.interfaces

##### 描述：

多媒体文件管理类。提供多媒体文件列表下载，多媒体文件预览，下载和视频播放等功能。
`MSDK 5.0.0开始支持`

##### 类成员:

method
enable

###### method enable

    void enable(CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
disable

###### method disable

    void disable(CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
addMediaFileListStateListener

###### method addMediaFileListStateListener

    void addMediaFileListStateListener(MediaFileListStateListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

设置多媒体文件列表状态监听器。通过此监听器可以监听多媒体文件列表的状态。
`MSDK 5.0.0开始支持`

##### 输入参数：

MediaFileListStateListener listener | 多媒体文件列表状态监听器

method
removeMediaFileListStateListener

###### method removeMediaFileListStateListener

    void removeMediaFileListStateListener(MediaFileListStateListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

删除多媒体文件列表状态监听器。
`MSDK 5.0.0开始支持`

##### 输入参数：

MediaFileListStateListener listener | 多媒体文件列表状态监听器

method
removeAllMediaFileListStateListener

###### method removeAllMediaFileListStateListener

    void removeAllMediaFileListStateListener()

包： | dji.v5.manager.interfaces

##### 描述：

删除所有多媒体文件列表状态监听器。
`MSDK 5.0.0开始支持`

method
getMediaFileListState

###### method getMediaFileListState

    MediaFileListState getMediaFileListState()

包： | dji.v5.manager.interfaces

##### 描述：

获取多媒体文件列表状态，这是一个同步接口。
`MSDK 5.0.0开始支持`

##### 返回值：

MediaFileListState | 返回多媒体文件列表状态。

method
setMediaFileDataSource

###### method setMediaFileDataSource

    void setMediaFileDataSource(MediaFileListDataSource source)

包： | dji.v5.manager.interfaces

##### 描述：

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

##### 输入参数：

MediaFileListDataSource source | 多媒体文件数据源。

method
pullMediaFileListFromCamera

###### method pullMediaFileListFromCamera

    void pullMediaFileListFromCamera(@NonNull PullMediaFileListParam param, CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

从相机中拉取多媒体文件列表。当多媒体文件列表状态`MediaFileListState`为`IDLE`时，需要调用此方法从相机中拉取全量数据。当有新媒体文件产生的时候，MSDK会自动从相机拉取最新的多媒体文件列表。当多媒体文件列表状态`MediaFileListState`变为`UP_TO_DATE`时，表示拉取多媒体文件列表已完成，请调用`getMediaFileListData`获取多媒体文件列表数据。
注意：
Zenmuse P1和Zenmuse L1只支持全量拉取多媒体文件列表，设置mediaFileIndex和count无效。
`MSDK 5.0.0开始支持`

##### 输入参数：

@NonNull PullMediaFileListParam param | 多媒体文件列表参数。Zenmuse P1和Zenmuse L1只支持全量拉取多媒体文件列表，设置mediaFileIndex和count无效。
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
stopPullMediaFileListFromCamera

###### method stopPullMediaFileListFromCamera

    void stopPullMediaFileListFromCamera()

包： | dji.v5.manager.interfaces

##### 描述：

停止从相机中拉取多媒体文件列表。
`MSDK 5.0.0开始支持`

method
getMediaFileListData

###### method getMediaFileListData

    MediaFileListData getMediaFileListData()

包： | dji.v5.manager.interfaces

##### 描述：

获取多媒体文件列表数据。当监听到多媒体文件列表状态`MediaFileListState`为`UP_TO_DATE`时，说明多媒体文件列表有更新，需要再次调用此接口更新多媒体文件列表数据。
`MSDK 5.0.0开始支持`

##### 返回值：

MediaFileListData | 返回多媒体文件列表数据。

method
deleteMediaFiles

###### method deleteMediaFiles

    void deleteMediaFiles(List<MediaFile> files, CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

删除相机中的多媒体文件。调用此接口后，多媒体文件列表状态`MediaFileListState`会变成`UPDATING`，当删除操作完成以后，多媒体文件列表状态`MediaFileListState`为`UP_TO_DATE`，请调用`getMediaFileListData`更新多媒体文件列表数据。
`MSDK 5.0.0开始支持`

##### 输入参数：

List<MediaFile> files | 需要删除的多媒体文件列表。
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
setMediaFileXMPCustomInfo

###### method setMediaFileXMPCustomInfo

    void setMediaFileXMPCustomInfo(@NonNull String information, CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

设置XMP自定义信息。设置成功后，每次生成照片文件，XMP自定义信息都会存储在照片文件的XMP元数据中。你可以调用MdeiaFile类中的`pullXMPCustomInfoFromCamera`方法从相机中拉取指定照片文件的XMP自定义信息。
注意：
1. 一次设置多次有效，相机重启后会把自定义信息清除，需要重新设置。
2. 目前只支持Zenmuse H20系列相机，Zenmuse L1相机，Zenmuse P1相机。
`MSDK 5.7.0开始支持`

##### 输入参数：

@NonNull String information | 需要设置的XMP自定义信息。使用UTF-8编码，长度小于或等于31个字符。
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
getMediaFileXMPCustomInfo

###### method getMediaFileXMPCustomInfo

    void getMediaFileXMPCustomInfo(@NonNull final CommonCallbacks.CompletionCallbackWithParam<String> callback)

包： | dji.v5.manager.interfaces

##### 描述：

获取设置的XMP自定义信息。
`MSDK 5.7.0开始支持`

##### 输入参数：

@NonNull final CommonCallbacks.CompletionCallbackWithParam<String> callback | 返回执行结果的回调。

method
playVideo

###### method playVideo

    @Deprecated
        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.8.0版本开始废弃。请调用`playVideoToSurface`播放多媒体文件。
`MSDK 5.0.0开始支持`

##### 输入参数：

MediaFile mediaFile | 需要播放的多媒体文件。
CommonCallbacks.CompletionCallbackWithParam<IVideoFrame> callback | 返回执行结果的回调。

method
playVideoToSurface

###### method playVideoToSurface

    void playVideoToSurface(MediaFile mediaFile,
                            Surface surface,
                            int surfaceWidth,
                            int surfaceHeight,
                            ICameraStreamManager.ScaleType scaleType,
                            MediaFrameListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

开始播放设置的多媒体文件，媒体文件数据通过回调方法的获取。
注意：
如果你希望自己实现解码以播放视频，你通过listener中获取到的视频数据，调用自定义解码器进行解码以播放视频。
`MSDK 5.8.0开始支持`

##### 输入参数：

MediaFile mediaFile | 需要播放的多媒体文件。
Surface surface | 需要播放显示的surface。
int surfaceWidth | 需要播放显示surface的宽。
int surfaceHeight | 需要播放显示surface的高。
ICameraStreamManager.ScaleType scaleType | 设置需要进行码流显示的surface的缩放类型。
MediaFrameListener listener | 返回执行结果的回调。

method
seekVideo

###### method seekVideo

    void seekVideo(int position, CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

跳转播放多媒体文件。可以设置新的播放位置开始播放。
`MSDK 5.0.0开始支持`

##### 输入参数：

int position | 需要跳转播放的位置，单位：秒。
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
pauseVideo

###### method pauseVideo

    void pauseVideo(CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

暂停播放多媒体文件。
`MSDK 5.0.0开始支持`

##### 输入参数：

CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
resumeVideo

###### method resumeVideo

    void resumeVideo(CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

恢复播放多媒体文件。
`MSDK 5.0.0开始支持`

##### 输入参数：

CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
stopVideo

###### method stopVideo

    void stopVideo(CommonCallbacks.CompletionCallback callback)

包： | dji.v5.manager.interfaces

##### 描述：

停止播放多媒体文件。
`MSDK 5.0.0开始支持`

##### 输入参数：

CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。

method
addVideoPlayStateListener

###### method addVideoPlayStateListener

    void addVideoPlayStateListener(VideoPlayStateListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

设置多媒体文件播放状态监听器。通过此监听器可以监听多媒体文件播放的状态。
`MSDK 5.0.0开始支持`

##### 输入参数：

VideoPlayStateListener listener | 多媒体文件播放状态监听器

method
removeVideoPlayStateListener

###### method removeVideoPlayStateListener

    void removeVideoPlayStateListener(VideoPlayStateListener listener)

包： | dji.v5.manager.interfaces

##### 描述：

删除多媒体文件播放状态监听器。
`MSDK 5.0.0开始支持`

##### 输入参数：

VideoPlayStateListener listener | 多媒体文件播放状态监听器

method
removeAllVideoPlayStateListener

###### method removeAllVideoPlayStateListener

    void removeAllVideoPlayStateListener()

包： | dji.v5.manager.interfaces

##### 描述：

删除所有多媒体文件列表播放监听器。
`MSDK 5.0.0开始支持`

method
release

###### method release

    void release()

包： | dji.v5.manager.interfaces

##### 描述：

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

##### Related:

class
MediaFileListDataSource
class
PullMediaFileListParam
enum
MediaFileFilter

###### enum MediaFileFilter

    enum MediaFileFilter

包： | dji.v5.manager.datacenter.media

##### 描述：

拉取多媒体文件列表过滤器设置类。
`MSDK 5.0.0开始支持`

##### Enum Members:

VIDEO | 视频。
PHOTO | 照片。
ALL | 所有多媒体文件。

##### Class Members:

class
MediaFileListData
class
MediaFile
enum
MediaFileListState

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

class
MediaFileListStateListener
enum
VideoPlayState

###### enum VideoPlayState

    enum VideoPlayState

包： | dji.v5.manager.datacenter.media

##### 描述：

多媒体文件播放状态枚举类型。
`MSDK 5.0.0开始支持`

##### Enum Members:

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

##### Class Members:

class
VideoPlayStatus
class
VideoPlayStateListener
class
MediaFileDownloadListener
class
MediaFrameListener
×

## 搜索 Mobile SDK 文档

{{searchCount}} 搜索结果

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

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

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