interface IMediaManager |
包: | dji.v5.manager.interfaces |
多媒体文件管理类。提供多媒体文件列表下载,多媒体文件预览,下载和视频播放等功能。 MSDK 5.0.0开始支持
void enable(CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
进入多媒体文件管理模块。调用此接口后,相机会进入多媒体文件管理模块,此模式下,你可以拉取多媒体文件列表,可以播放相机中的视频。与此同时,相机将无法拍照录像,图传将无法正常显示,建议你在进入相册功能时调用此接口。 MSDK 5.0.0开始支持
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void disable(CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
退出多媒体文件管理模块。调用此接口后,相机会退出多媒体文件管理模块,相机可正常拍照录像,图传将正常显示,建议你在退出相册功能时调用此接口。 MSDK 5.0.0开始支持
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void addMediaFileListStateListener(MediaFileListStateListener listener) |
包: | dji.v5.manager.interfaces |
设置多媒体文件列表状态监听器。通过此监听器可以监听多媒体文件列表的状态。 MSDK 5.0.0开始支持
MediaFileListStateListener listener | 多媒体文件列表状态监听器 |
void removeMediaFileListStateListener(MediaFileListStateListener listener) |
包: | dji.v5.manager.interfaces |
删除多媒体文件列表状态监听器。 MSDK 5.0.0开始支持
MediaFileListStateListener listener | 多媒体文件列表状态监听器 |
void removeAllMediaFileListStateListener() |
包: | dji.v5.manager.interfaces |
删除所有多媒体文件列表状态监听器。 MSDK 5.0.0开始支持
MediaFileListState getMediaFileListState() |
包: | dji.v5.manager.interfaces |
获取多媒体文件列表状态,这是一个同步接口。 MSDK 5.0.0开始支持
MediaFileListState | 返回多媒体文件列表状态。 |
void setMediaFileDataSource(MediaFileListDataSource source) |
包: | dji.v5.manager.interfaces |
设置需要获取的多媒体文件数据源。你可以选择拉取不同存储位置和不同负载中的多媒体文件。 MSDK 5.0.0开始支持
MediaFileListDataSource source | 多媒体文件数据源。 |
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 | 返回执行结果的回调。 |
void stopPullMediaFileListFromCamera() |
包: | dji.v5.manager.interfaces |
停止从相机中拉取多媒体文件列表。 MSDK 5.0.0开始支持
MediaFileListData getMediaFileListData() |
包: | dji.v5.manager.interfaces |
获取多媒体文件列表数据。当监听到多媒体文件列表状态MediaFileListState
为UP_TO_DATE
时,说明多媒体文件列表有更新,需要再次调用此接口更新多媒体文件列表数据。 MSDK 5.0.0开始支持
MediaFileListData | 返回多媒体文件列表数据。 |
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 | 返回执行结果的回调。 |
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 | 返回执行结果的回调。 |
void getMediaFileXMPCustomInfo(@NonNull final CommonCallbacks.CompletionCallbackWithParam<String> callback) |
包: | dji.v5.manager.interfaces |
获取设置的XMP自定义信息。 MSDK 5.7.0开始支持
@NonNull final CommonCallbacks.CompletionCallbackWithParam<String> callback | 返回执行结果的回调。 |
|
包: | dji.v5.manager.interfaces |
开始播放设置的多媒体文件,媒体文件数据通过回调方法的获取。 IVideoFrame
,调用自定义解码器进行解码以播放视频。IVideoDecoder
来进行解码以播放视频。用EXTENDED_STREAM_CHANNEL
初始化IVideoDecoder
,然后调用setMediaFile
把需要解码的媒体文件设置到解码器中,最后调用queueInFrame
将callback中获取到的视频帧数据IVideoFrame
送入队列进行解码。
注意:
该接口从MSDK 5.8.0版本开始废弃。请调用playVideoToSurface
播放多媒体文件。 MSDK 5.0.0开始支持
MediaFile mediaFile | 需要播放的多媒体文件。 |
CommonCallbacks.CompletionCallbackWithParam<IVideoFrame> callback | 返回执行结果的回调。 |
void playVideoToSurface(MediaFile mediaFile, |
包: | 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 | 返回执行结果的回调。 |
void seekVideo(int position, CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
跳转播放多媒体文件。可以设置新的播放位置开始播放。 MSDK 5.0.0开始支持
int position | 需要跳转播放的位置,单位:秒。 |
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void pauseVideo(CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
暂停播放多媒体文件。 MSDK 5.0.0开始支持
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void resumeVideo(CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
恢复播放多媒体文件。 MSDK 5.0.0开始支持
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void stopVideo(CommonCallbacks.CompletionCallback callback) |
包: | dji.v5.manager.interfaces |
停止播放多媒体文件。 MSDK 5.0.0开始支持
CommonCallbacks.CompletionCallback callback | 返回执行结果的回调。 |
void addVideoPlayStateListener(VideoPlayStateListener listener) |
包: | dji.v5.manager.interfaces |
设置多媒体文件播放状态监听器。通过此监听器可以监听多媒体文件播放的状态。 MSDK 5.0.0开始支持
VideoPlayStateListener listener | 多媒体文件播放状态监听器 |
void removeVideoPlayStateListener(VideoPlayStateListener listener) |
包: | dji.v5.manager.interfaces |
删除多媒体文件播放状态监听器。 MSDK 5.0.0开始支持
VideoPlayStateListener listener | 多媒体文件播放状态监听器 |
void removeAllVideoPlayStateListener() |
包: | dji.v5.manager.interfaces |
删除所有多媒体文件列表播放监听器。 MSDK 5.0.0开始支持
void release() |
包: | dji.v5.manager.interfaces |
资源释放。调用此接口将会取消多媒体文件数据下载,清空缩略图缓存,清空多媒体文件列表数据。建议你在系统内存不足的时候调用。 MSDK 5.0.0开始支持
enum MediaFileFilter |
包: | dji.v5.manager.datacenter.media |
拉取多媒体文件列表过滤器设置类。 MSDK 5.0.0开始支持
VIDEO | 视频。 |
PHOTO | 照片。 |
ALL | 所有多媒体文件。 |
enum MediaFileListState |
包: | dji.v5.manager.datacenter.media |
多媒体文件列表状态。 MSDK 5.0.0开始支持
IDLE | 空闲状态。当多媒体文件列表为空闲状态时,需要调用pullMediaFileListFromCamera 从相机中拉取全量数据。 |
UP_TO_DATE | 最新状态。当多媒体文件列表为最新状态时,需要调用getMediaFileListData 更新多媒体文件列表数据。 |
UPDATING | 更新中状态。当多媒体文件列表为更新中状态时,表示MSDK正在跟相机中的数据进行同步,当同步完成后,状态会变成UP_TO_DATE ,需要调用getMediaFileListData 更新多媒体文件列表数据。 |
enum VideoPlayState |
包: | dji.v5.manager.datacenter.media |
多媒体文件播放状态枚举类型。 MSDK 5.0.0开始支持
IDLE | 空闲状态。未开启多媒体文件播放功能,可以调用playVideo 进行多媒体文件播放。 |
PLAYING | 播放中。 |
ENDED | 播放结束。 |
STOPPED | 停止播放。当调用stopVideo 接口成功停止播放多媒体文件后会回调此状态。 |