下载媒体消息文件
SDK 提供多媒体文件的下载功能,支持通过媒体消息中的地址下载文件。
下载媒体消息中的媒体文件
如果消息 Message 对象中包含媒体消息内容(指 Message#getContent()
返回媒体消息内容(FileMessage,SightMessage,ImageMessage, 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) {
}
});
获取当前下载的文件信息
在调用 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) {
}
});
取消下载多媒体文件
使用 cancelDownloadMediaMessage
取消下载多媒体文件,需要传入当前正在下载的 Message
对象。
RongCoreClient.getInstance().cancelDownloadMediaMessage(message, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode code) {
}
});
暂停下载多媒体文件
暂停多媒体消息下载。
RongCoreClient.getInstance().pauseDownloadMediaMessage(message, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode code) {
}
});