openharmony4.x推媒体文件工具mediatool
1. mediatool工具简介 媒体库在API10后,资源文件的底层存储方式将对应用开发者和用户透明。这导致,无法通过API9之前hdc file send+hdc shell scanner的方式,从电脑预制资源进入媒体库。因此,API10后,媒体库提供了mediatool工具,放置在/bin文件夹中,可以通过hdc shell直接调用。 2. 用法介绍 2.1 mediatool send
1. mediatool工具简介
媒体库在API10后,资源文件的底层存储方式将对应用开发者和用户透明。这导致,无法通过API9之前hdc file send
+hdc shell scanner
的方式,从电脑预制资源进入媒体库。因此,API10后,媒体库提供了mediatool工具,放置在/bin文件夹中,可以通过hdc shell直接调用。
2. 用法介绍
2.1 mediatool send
工具依赖mediatool send来将文件推入媒体库中。具体的使用方法如下:
hdc file send 01.jpg /data/tmp/source.jpg
hdc shell mediatool send /data/tmp/source.jpg
通过该方法,可以在媒体库中预制一个display_name为source.jpg的媒体文件。如果需要预制其他名字的媒体文件,需要将文件推入设备后,更改文件名,再由mediatool推送。
也可以将目标设置为一个文件夹,mediatool会将文件夹的所有子文件置入媒体库
hdc shell mediatool send /data/tmp
可以有以下的可选参数,用于指定一些置入媒体的形式:
- -ts:同步生成缩略图
- -tas:异步生成缩略图(默认)
- -rf:置入后删除源文件(默认)
- -urf:置入后不删除源文件
mediatool只会置入图片、视频、音频类型的文件。
如果置入成功,会打印生成文件的uri,如下所示:
> mediatool send /data/tmp/source.jpg
file://media/Photo/1/IMG_1692205897_000/01.jpg
2.2 mediatool list
可以展示媒体库的内容,支持展示Photo、Audio类型,可以展示单个文件或者全体文件,如果需要展示单个文件,在mediatool list后面添加uri;如果需要展示全部文件,添加all,如下所示:
hdc file list file://media/Photo/1 # 展示第一个Photo
hdc file list all # 展示全部的媒体库内容
当前展示只支持展示uri、displayName(展示名)、data(文件位置)三种内容,展示的格式如下:
> mediatool list all
Table Name: Photos
uri,display_name,data
"file://media/Photo/1/IMG_1692205897_000/01.jpg","01.jpg","/storage/cloud/files/Photo/16/IMG_1692205897_000.jpg"
"file://media/Photo/2/VID_1692205899_000/01.mp4","01.mp4","/storage/cloud/files/Photo/16/VID_1692205899_000.mp4"
Table Name: Audios
uri,display_name,data
"file://media/Audio/1/AUD_1692205901_000/01.mp3","01.mp3","/storage/cloud/files/Audio/16/AUD_1692205901_000.mp3"
2.3 mediatool recv
可以将媒体库的内容,传输到设备内的某个位置(该位置需要有访问权限)。支持获取单个文件或者全体文件,如果需要展示单个文件,在mediatool recv后面添加uri;如果需要展示全部文件,添加all,如下所示:
hdc shell mediatool recv file://media/Photo/1 /data/tmp # 获取第一个Photo,放到tmp位置
hdc shell mediatool recv all /data/tmp # 获取全部的媒体库内容,放到tmp位置
如果需要获取uri,可以先用mediatool list all
指令。
如果希望获取全部图片到本地,可以使用以下的bat脚本:
hdc shell mediatool recv all /data/tmp
hdc shell tar -cvf /data/files.tar /data/tmp/*
hdc file recv /data/files.tar .
2.4 mediatool delete
为了让测试人员更好的实现自动化测试,mediatool增加了删除的功能。支持通过uri删除单个文件,或者删除全部文件:
hdc shell mediatool delete file://media/Photo/1/IMG_1692205897_000/01.jpg
hdc shell mediatool delete all
其中,delete all
默认情况下将删除所有媒体数据库以及文件的内容。
转载:https://gitee.com/liang-jia-xi/multimedia_medialibrary_standard/wikis/mediatool%20wiki
更多推荐
所有评论(0)