简介
mp3agic 用于读取 mp3 文件和读取/操作 ID3 标签(ID3v1 和 ID3v2.2 到 ID3v2.4),协助开发者处理繁琐的文件操作相关,多用于操作文件场景的业务应用。
效果展示:
下载安装
ohpm install @ohos/mp3agic
OpenHarmony ohpm环境配置等更多内容,请参考 如何安装OpenHarmony ohpm包 。
使用说明
提供多种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());
更多详细用法请参考开源库sample页面的实现
组件测试方法
- 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)
注意事项:
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 版本: 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 # 安装使用方法
为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
《鸿蒙开发学习手册》:
如何快速入门:https://qr21.cn/FV7h05
- 基本概念
- 构建第一个ArkTS应用
- ……
开发基础知识:https://qr21.cn/FV7h05
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ……
基于ArkTS 开发:https://qr21.cn/FV7h05
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ……
鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH
鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH
1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向