Skip to main content

多媒体教程(相册)

概述

SDK提供相册管理类IAlbumManager对飞机端的相册进行展示和管理,包括获取相册文件列表、获取相册文件夹列表、删除指定相册文件或者文件包、下载指定相册文件,取消下载等接口。

接口调用流程

获取相册文件列表

获取相册文件列表接口:获取相册的元素列表

/**
* 获取相册文件列表
* @param type 文件类型 [MediaTypeEnum]
* @param storageType 存储设备类型 [StorageTypeEnum]
* @param albumName 文件夹名称 如果传null,则获取所有文件
* @param offset 偏移值
* @param count 请求数量
* @param order 时间顺序倒序 [OrderTypeEnum]
* @param callback 返回值
*/
fun getMediaFileList(
type: MediaTypeEnum,
storageType: StorageTypeEnum,
albumName: String? = null,
offset: Int = 0,
count: Int,
order: OrderTypeEnum = OrderTypeEnum.NORMAL,
callback: CommonCallbacks.CompletionCallbackWithParam<AlbumResultBean>
)

示例代码:

AlbumManager.getAlbumManager().getMediaFileList(
type,
storageType,
albumName,
offset,
count,
order,
object :
CommonCallbacks.CompletionCallbackWithProgressAndParam<AlbumResultBean> {
override fun onProgressUpdate(progress: Double) {}
override fun onSuccess(autelAlbumBeans: AlbumResultBean?) {

}

override fun onFailure(error: IAutelCode, msg: String?) {

}
}
)

获取相册文件夹列表

获取相册文件夹列表接口:获取按文件夹分类的文件夹列表

/**
* 获取相册文件夹列表
* @param storageType 存储设备类型 [StorageTypeEnum]
* @param order 时间顺序倒序 [OrderTypeEnum]
* @param callback 返回值
*/
fun getMediaFolderList(
storageType: StorageTypeEnum,
order: OrderTypeEnum,
callback: CommonCallbacks.CompletionCallbackWithParam<AlbumFolderResultBean>
)

示例代码:

AlbumManager.getAlbumManager().getMediaFolderList(storageType, sortType,
object : CommonCallbacks.CompletionCallbackWithParam<AlbumFolderResultBean> {
override fun onSuccess(t: AlbumFolderResultBean?) {

}

override fun onFailure(error: IAutelCode, msg: String?) {

}
})

删除指定相册文件或者文件包

删除指定相册文件或者文件包接口:删除指定文件夹或者文件包里的元素

/**
* 删除指定相册文件或文件包
* @param indexId 文件ID(Index)或文件包Id(Index)
* @param storageType 存储设备类型
* @param callback 删除结果
*/
fun deleteMediaFile(
indexId: Int,
callback: CommonCallbacks.CompletionCallback
)

示例代码:

AlbumManager.getAlbumManager().deleteMediaFile(
indexId,
object : CommonCallbacks.CompletionCallback {
override fun onSuccess() {
it.resume(Pair(index, true))
}

override fun onFailure(code: IAutelCode, msg: String?) {
it.resume(Pair(index, false))
}

})

下载指定相册文件

下载指定相册文件接口:下载单个相册文件

/**
* 下载指定相册文件
* @param sourcePath 需要下载文件路径
* @param destPath 保存文件路径
* @param callback 下载回调
*/
fun downloadMediaFile(
sourcePath:String,
destPath:String,
callback: CommonCallbacks.DownLoadCallbackWithProgress<Double>
): BaseRequest

示例代码:

AlbumManager.getAlbumManager().downloadMediaFile(
sourcePath,
destPath,
object : CommonCallbacks.DownLoadCallbackWithProgress<Double> {

override fun onSuccess(file: File?) {

}

override fun onProgressUpdate(progress: Double, speed: Double) {

}

override fun onFailure(error: IAutelCode) {

}
})

取消下载

取消下载接口:取消正在下载的请求

/***
* 取消下载
* @param request 正在下载文件的request
*/
fun cancelDownload(request: BaseRequest)

示例代码:

AlbumManager.getAlbumManager().cancelDownload(baseRequest)