多媒体教程(相册)
一、概述
SDK提供相册管理类IAlbumManager对飞机端的相册进行展示和管理,包括获取相册文件列表、获取相册文件夹列表、删除指定相册文件或者文件包、下载指定相册文件,取消下载等接口。
二、相册相关接口
1.获取相册管理器
val albumManager = DeviceManager.getDeviceManager().getFirstDroneDevice()?.getAlbumManager()
2.获取相册文件列表
获取相册文件列表接口:获取相册的元素列表
/**
* 获取相册文件列表
* @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.getMediaFileList(
type,
storageType,
albumName,
offset,
count,
order,
object :CommonCallbacks.CompletionCallbackWithProgressAndParam<AlbumResultBean> {
override fun onSuccess(autelAlbumBeans: AlbumResultBean?) {
}
override fun onFailure(error: IAutelCode, msg: String?) {
}
}
)
3.获取相册文件夹列表
获取相册文件夹列表接口:获取按文件夹分类的文件夹列表
/**
* 获取相册文件夹列表
* @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?) {
}
})
4.删除指定相册文件或者文件包
删除指定相册文件或者文件包接口:删除指定文件夹或者文件包里的元素
/**
* 删除指定相册文件或文件包
* @param indexId 文件ID(Index)或文件包Id(Index)
* @param storageType 存储设备类型
* @param callback 删除结果
*/
fun deleteMediaFile(
indexId: Int,
callback: CommonCallbacks.CompletionCallback
)
示例代码:
albumManager.deleteMediaFile(
indexId,
object : CommonCallbacks.CompletionCallback {
override fun onSuccess() {
}
override fun onFailure(code: IAutelCode, msg: String?) {
}
})
5.下载指定相册文件
下载指定相册文件接口:下载单个相册文件
/**
* 下载指定相册文件
* @param sourcePath 需要下载文件路径
* @param destPath 保存文件路径
* @param callback 下载回调
*/
fun downloadMediaFile(
sourcePath:String,
destPath:String,
callback: CommonCallbacks.DownLoadCallbackWithProgress<Double>
): BaseRequest
示例代码:
albumManager.downloadMediaFile(
sourcePath,
destPath,
object : CommonCallbacks.DownLoadCallbackWithProgress<Double> {
override fun onSuccess(file: File?) {
}
override fun onProgressUpdate(progress: Double, speed: Double) {
}
override fun onFailure(error: IAutelCode) {
}
})
6.取消下载
取消下载接口:取消正在下载的请求
/***
* 取消下载
* @param request 正在下载文件的request
*/
fun cancelDownload(request: BaseRequest)
示例代码:
albumManager.cancelDownload(baseRequest)