简介
mp3agic 用于读取 mp3 文件和读取/操作 ID3 标签(ID3v1 和 ID3v2.2 到 ID3v2.4),协助开发者处理繁琐的文件操作相关,多用于操作文件场景的业务应用。
效果展示:
下载安装
ohpm install @ohos/mp3agic
使用说明
提供多种ID3v1NoTrackTest、ID3v1TagOrID3v2TagTest等测试跳转页面,index为主入口界面。
入口初始化:按钮测试列表,点击对应按钮进行测试。
第一步:初始化 Mp3File
let mp3file = new Mp3File(this.path)
第二步:获取tag,并获取数据详情信息
let id3v1Tag: ID3v1 = mp3file.getId3v1Tag();
console.log('mp3agic Id3v1Tag Track: ' + id3v1Tag.getTrack());
console.log('mp3agic Id3v1Tag Artist: ' + id3v1Tag.getArtist());
组件测试方法
- hap签名使用cn.openharmony.mp3agic(可以依据自己定义,需要修改推送文件的脚本的hap名称与自定义一致即可)
- 安装好hap,点击进入应用。(不进入有可能文件推送不成功)
- 执行entry\src\main\resources\media下的pushMP3File.bat脚本会将使用到的文件推送到指定目录。
- hdc shell 进入板端,然后进到该目录 /data/app/el2/100/base/cn.openharmony.mp3agic/haps/entry,接着通过ls -al查看files文件夹的属性。 将files下的文件全部修改和files文件夹一致的属性。 参考命令:chown 20010032:20010032 .
- 修改完成即可点击页面点击对应按钮,通过命令过滤 查看日志(hilog | grep mp3agiclog)
DD一下:欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。
`欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。`
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案)
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......
注意事项:
sample内置的测试资源文件是通过git lfs的方式上传的,如果直接下载项目的zip包,得到的资源文件只是一个快捷方式,需要进资源文件目录手动下载。或者通过git clone的方式下载代码,这样得到的资源文件是完整的。
接口说明
let mp3file = new Mp3File('xxxxxxpath');
- 获取3v1本版标签:mp3file.getId3v1Tag()
- 判断是否有3v1本版标签:mp3file.hasId3v1Tag()
- 判断是否有3v2本版标签:mp3file.hasId3v2Tag()
- 获取MP3文件帧数:mp3file.getFrameCount()
- 获取起始设置:mp3file.getStartOffset()
- 获取结束设置:mp3file.getEndOffset()
- 获取MP3长度,单位毫秒:mp3file.getLengthInMilliseconds()
- 获取MP3长度,单位秒:mp3file.getLengthInSeconds()
- 是否为VBR编码,不是为 CBR编码:mp3file.isVbr()
- 获取码率:mp3file.getBitrate()
- 获取渠道模式:mp3file.getChannelMode() .......
约束与限制
在下述版本验证通过
- DevEco Studio: NEXT Beta1-5.0.3.806, SDK: API12 Release (5.0.0.66)
- DevEco Studio 版本: 4.1 Canary(4.1.3.317) OpenHarmony SDK:API11 (4.1.0.36)
目录结构
|---- mp3agic
| |---- entry # 示例代码文件夹
| |---- library # mp3agic库文件夹
| |---- src
| |---- main
| |---- ets
| |---- commonents
| |---- mp3agic # 核心库代码文件夹
| |---- Mp3File.ets # mp3文件操作类
| |---- ID3v22Tag.ets # 2.0标签
| |---- ID3v23Tag.ets # 3.0版本标签
| |---- ID3v24Tag.ets # 4.0版本标签
| |---- ID3v2Frame.ets # 音频包数据封装
| |---- ID3v2TextFrameData.ets # 文本数据
| |---- ID3v2ChapterFrameData.ets # 章节帧数据
| ......
| |---- index.ets # 对外接口
| |---- README.md # 安装使用方法
| |---- README_zh.md # 安装使用方法