OpenHarmony多媒体-mp3agic

简介

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页面的实现

组件测试方法

  1. hap签名使用cn.openharmony.mp3agic(可以依据自己定义,需要修改推送文件的脚本的hap名称与自定义一致即可)
  2. 安装好hap,点击进入应用。(不进入有可能文件推送不成功)
  3. 执行entry\src\main\resources\media下的pushMP3File.bat脚本会将使用到的文件推送到指定目录。
  4. hdc shell 进入板端,然后进到该目录 /data/app/el2/100/base/cn.openharmony.mp3agic/haps/entry,接着通过ls -al查看files文件夹的属性。 将files下的文件全部修改和files文件夹一致的属性。 参考命令:chown 20010032:20010032 .
  5. 修改完成即可点击页面点击对应按钮,通过命令过滤 查看日志(hilog | grep mp3agiclog)

注意事项:

sample内置的测试资源文件是通过git lfs的方式上传的,如果直接下载项目的zip包,得到的资源文件只是一个快捷方式,需要进资源文件目录手动下载。或者通过git clone的方式下载代码,这样得到的资源文件是完整的。

接口说明

let mp3file = new Mp3File('xxxxxxpath');
  1. 获取3v1本版标签:mp3file.getId3v1Tag()
  2. 判断是否有3v1本版标签:mp3file.hasId3v1Tag()
  3. 判断是否有3v2本版标签:mp3file.hasId3v2Tag()
  4. 获取MP3文件帧数:mp3file.getFrameCount()
  5. 获取起始设置:mp3file.getStartOffset()
  6. 获取结束设置:mp3file.getEndOffset()
  7. 获取MP3长度,单位毫秒:mp3file.getLengthInMilliseconds()
  8. 获取MP3长度,单位秒:mp3file.getLengthInSeconds()
  9. 是否为VBR编码,不是为 CBR编码:mp3file.isVbr()
  10. 获取码率:mp3file.getBitrate()
  11. 获取渠道模式: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

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Desktop打开一直转圈的解决办法

安装Docker Desktop之前确保你的Hyper-V已经打开 开启后需要重新安装重新安装重新安装这是最关键的一步,博主自己看了很多教程,最后试着重装了一下解决了 安装DockerDesktop的时候我的电脑根本就没有Hyper-V这个功能选项,可能是这个问题 如…

域名信息查询同款WHOIS源码

域名查询一般是指查询域名的whois注册信息,域名WHOIS是当前域名系统中不可或缺的一项信息服务。在使用域名进行Internet冲浪时,很多用户希望进一步了解域名、名字服务器详细信息 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

力扣打卡第一天

101. 对称二叉树 C: class Solution { public:bool isSymmetric(TreeNode* root) {return check(root->left,root->right);}bool check(TreeNode *p,TreeNode *q){ /**定义check方法用来检查两棵树是否是镜像的*/if (!p && !q) return true; /* 如…

鸿蒙开发语言_ArkTS开发语言体验_TypeScript语言环境搭建_TS声明和数据类型---HarmonyOS4.0+鸿蒙NEXT工作笔记003

可以看到我们新建的这个项目,有个 @State message: String =Hello ArkTS 这个就是定义了一个变量,可以看到 message是变量名,String是变量类型. 然后我们可以看看它的结构可以看到 build() 下面有个Row,然后再下面有个Column方法,然后,里面就是具体的内容了,首先就是显示了一…

Python数据结构【四】排序(二)难度:困难

文章目录 前言一、书接上回二、快速排序(Quick Sort)2.1 快速排序思想2.2 快速排序代码实现2.3 快速排序复杂度分析 三、堆排序(Heap Sort)3.1 堆排序思想3.2 堆排序代码实现3.3 堆排序复杂度分析 结语 前言 可私聊进一千多人Pyth…

文件名批量改名,高效将文件名里的符号进行替换删除掉,实现文件名的高效管理

在信息爆炸的时代,我们每天都在与大量的文件打交道。从工作文档到个人照片,从视频剪辑到音频录音,每个文件背后都承载着我们的辛勤付出和美好回忆。然而,随着文件数量的不断增加,如何高效管理这些文件成为了一个亟待解…

MongoDB安装及集成

MongoDB安装及集成 前言 MongoDB是一个开源的、面向文档的 NoSQL 数据库,它采用了 JSON 风格的文档来存储数据,而不是传统的表格形式。MongoDB在数据存储方面具有灵活性和可扩展性,使得它成为了当今流行的数据库之一。 MongoDB的主要特点和…

关于ERA5气压和温度垂直补偿公式的对比情况

1. 气压和温度垂直补偿对比 「谨代表给个人观点,杠精请自测,对对对,好好好,你说啥都对」。 使用2020-2022陆态网GNSS与探空站并址的48个站点实验,以探空站为真值,验证ERA5精度。怎么确定并址请看前面文章…

C++感受6-Hello World 交互版

变量、常量输入、输出、流getline() 函数读入整行输入Hello() 函数复习新定义函数 Input() 实现友好的人机交互还有 “痘痘” 为什么挤不到的分析…… 1. DRY 原则简介 上一节课,我们写了两版“问候”程序。第一版的最大问题是重复的内容比较多,每一次问…

webAssembly学习及使用rust

学习理解 webAssembly 概念知识,使用 API 进行 web 前端开发。 概念 是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。它有一种紧凑的二进制格式,使其能够以接近原生性能的速度运行。C/C、 C#、Rust等语言可以编译为 …

RIP小实验配置及缺省路由下发

配置如下: IP配置: IP配置完先查看RIP协议学习到的路由表,没有内容则代表没有开启RIP 启用RIP:这里的rip后跟的ID只具有本地意义,可以在1-65535之间随便取,不同路由器之间都可以取用不同的,为了…

上网行为管理系统功能介绍_上网行为管理实现的功能

上网行为管理系统是一种集成了网络监控、行为分析、策略管理和安全控制等功能的综合性软件解决方案。 它通过对企业内部网络的全面监控和深度分析,帮助管理者了解员工的网络使用习惯、识别潜在风险、优化网络资源配置,并最终实现网络安全和效率的双重提…

对接浦发银行支付(三)-- QR扫码付

一、使用场景 扫码付,指的是支付平台,给每个用户的具体订单生成一个QR二维码,用户本人或者他人扫码付款。 付款用户可以直接识别二维码,或者下载到本地,通过微信或支付宝扫一扫识别,第二步将跳转至对应的支…

详细分析Java中的AuthRequest类(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 公共接口,定义了对第三方平台进行授权、登录、撤销授权和刷新 token 的操作 1. 基本知识 先看源码基本API接口: import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.exception.AuthExce…

SSDReporter for Mac:全面检测SSD健康,预防数据丢失,让您的Mac运行更稳定

SSDReporter for Mac是一款专为Mac用户设计的固态硬盘(SSD)健康状况检测工具,旨在帮助用户全面了解并监控其Mac设备中SSD的工作状态,从而确保数据的完整性和设备的稳定性。 这款软件具有多种强大的功能。首先,它能够定…

09-ARM开发板的HelloWorld

在ARM开发板上运行x86_64平台程序 前面在Ubuntu系统编译生成了X86_64平台的HelloWorld程序,通过NFS服务器,尝试在开发板上直接运行。 如图所示,程序无法正常运行,终端提示ARM开发板在执行x86架构(Intel或AMD&#xff…

c++使用googletest进行单元测试

googletest进行单元测试 使用Google test进行测试一、单元测试二、使用gmock测试 使用Google test进行测试 使用场景: 在平时写代码中,我们需要测试某个函数是否正确时可以使用Google test使用,当然,我们也可以自己写函数进行验证…

旅游陪同翻译难吗, 旅游翻译英译中哪家好?

近来,随着中国旅游业的蓬勃发展,旅游陪同翻译的需求也水涨船高,这些专业的翻译服务者为中外游客搭建起友谊的桥梁,引领他们共同探索中国这片古老而神秘的土地 。那么,旅游陪同翻译英译中难吗?我们如何在众多…

mysql数据库连接工具(mysql数据库连接工具怎么备份数据不备份表结构)

MySQLWorkbench连接,导入和导出数据库? 1、导出:使用MySQL Workbench连接到MySQL服务器,选择要导出的数据库,右键单击数据库并选择“导出”。选择要导出的表和数据,将导出文件保存为.sql文件。 2、打开MySQL Workbench&#xf…

OpenHarmony 视图缩放组件—subsampling-scale-image-view

简介 深度缩放视图,图像显示,手势平移缩放双击等 效果图(旋转、缩放、平移) 下载安装 ohpm install ohos/subsampling-scale-image-view OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包 使…