#创作者激励#【FFH】MediaLibrary媒体库API基本用法 原创 精华
FFH_PETSJ
发布于 2023-3-20 16:35
浏览
4收藏
【本文正在参加2023年第一期优质创作者激励计划】
MediaLibrary简介
mediaLibrary媒体库是鸿蒙系统对外供开发者访问、修改用户个人媒体资源的接口,提供有 媒体限定词检索、媒体信息获取、媒体数据读写 等功能。
目前官方定义的媒体资源包括 图片、视频、音频、文件。
API文档:
@ohos.multimedia.mediaLibrary 3.0 Release
@ohos.multimedia.mediaLibrary 3.1 Beta
(API 6开始支持,建议使用API 8及以上SDK)
使用场景
- 本地媒体图片的访问
- 本地媒体上传
- 将媒体存储在本地媒体库(相册)
- …
需要获取媒体读写权限,动态申请:
在config.json的module添加权限:
相关实例
实例 | 作用 | 获取接口 |
---|---|---|
MediaLibrary | 媒体库实例(入口) | FA:mediaLibrary.getMediaLibrary() Stage: mediaLibrary.getMediaLibrary(context) |
FetchFileResult | 媒体检索结果集,包含关键信息 | MediaLibrary:getFileAssert(MediaFetchOptions) |
FileAssert | 结果集中的媒体,用于获取具体资源信息 | FetchFileResult:getFirstObject()、getNextObject()、getLastObject() |
Ablum | 相册,可从特定相册获取资源 | MediaLibrary:getAlbum(MediaFetchOptions) |
封装mediaManager类
前端调用
以Button触发为例
通过检索条件配置选择媒体
拉起相册选择媒体并预览
通过startGetMediaSelect后拿到的urls是以 dataAbility:// 为开头标识的url(官方提供的一种资源访问方式,隐藏了资源的真实路径)Image组件支持该方式使用图片。
上文展示的是接口基本的使用场景。接口功能基本完善,除了一小部分Bug如释放某些实例会导致图库刷新之类的,能够满足正常的开发需求。
(测试demo在附件资源)
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
medialibrary.zip 60.86K 44次下载
赞
6
收藏 4
回复
6
4
4
相关推荐
很实用的功能
学习一下demo
文件管理在系统中还是会经常用到的
媒体库的操作在各种功能中都会经常用到,很实用的功能!