文档导航
Android
SDK 版本:  5.X
公告:融云新文档中心已上线,欢迎到新文档中心阅读 Android IMLibAndroid IMKit 的文档。

下载媒体消息文件

更新时间:2024-02-06 PDF

下载媒体消息文件

SDK 提供多媒体文件的下载功能,支持通过媒体消息中的地址下载文件。

下载媒体消息中的媒体文件

如果消息 Message 对象中包含媒体消息内容(指 Message#getContent() 返回媒体消息内容(FileMessageSightMessageImageMessage, GIFMessage, HQVoiceMessage 等),其中携带了媒体文件地址),可以使用 downloadMediaMessage 下载媒体文件。

RongCoreClient.getInstance().downloadMediaMessage(message, new IRongCallback.IDownloadMediaMessageCallback() {
            @Override
            public void onSuccess(Message message) {

            }

            @Override
            public void onProgress(Message message, int progress) {

            }

            @Override
            public void onError(Message message, IRongCoreEnum.CoreErrorCode code) {

            }

            @Override
            public void onCanceled(Message message) {

            }
        });
              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

获取当前下载的文件信息

在调用 downloadMediaMessage 下载多媒体文件的过程中,可调用 getDownloadInfo 获取下载文件总大小、存储路径等信息。该接口仅在下载过程中调用时会返回正确信息。下载完成后调用该接口会返回 null

tag 是文件唯一识别标志,可以使用 messageId 字符串。

String tag = message.getMessageId();

RongCoreClient.getInstance().getDownloadInfo(tag, new IRongCoreCallback.ResultCallback<DownloadInfo>() {
            @Override
            public void onSuccess(DownloadInfo downloadInfo) {

            }

            @Override
            public void onError(IRongCoreEnum.CoreErrorCode code) {

            }
        });
              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13

取消下载多媒体文件

使用 cancelDownloadMediaMessage 取消下载多媒体文件,需要传入当前正在下载的 Message 对象。

RongCoreClient.getInstance().cancelDownloadMediaMessage(message, new IRongCoreCallback.OperationCallback() {
            @Override
            public void onSuccess() {

            }

            @Override
            public void onError(IRongCoreEnum.CoreErrorCode code) {

            }
        });

              
已复制
1
2
3
4
5
6
7
8
9
10
11
12

暂停下载多媒体文件

暂停多媒体消息下载。

RongCoreClient.getInstance().pauseDownloadMediaMessage(message, new IRongCoreCallback.OperationCallback() {
            @Override
            public void onSuccess() {

            }

            @Override
            public void onError(IRongCoreEnum.CoreErrorCode code) {

            }
        });
              
已复制
1
2
3
4
5
6
7
8
9
10
11

文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈