harmonyOSNEXT下的前端开发者WAV音频编码实现继6年前使用js实现的mp4封装之后,再次

作为一名前端开发者,我现在需要在鸿蒙5.0下实现音频编码。关于为什么不说编解码,因为目前的需求,收到的音频数据流是PCM这样的基础格式,可以通过编码封装为各种其他的如wav、mp3、aac等其他可进行播放的音频格式。

对音频进行编码常见的格式有:

PCM是音频原始数据的基础格式,并不支持直接用于播放,但可以将其通过编码转换成其他支持播放的格式文件,也可将一些格式文件解码成PCM后再进行编码来实现不同格式的音频文件转换;AAC则在短视频和直播场景广泛使用。

我们能直接获取到的默认音频格式为音频裸数据格式,即PCM格式,因此并不需要对PCM进行额外的编码,但需要获取到对应的配置,用于将PCM格式的音频转换为其他格式的音频,比如我们本文中的WAV格式。

WAV全称WaveformAudioFileFormat,是微软公司开发的一种无损声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持。

WAV符合RIFF(ResourceInterchangeFileFormat)规范,所有的WAV都由44字节文件头和PCM数据组成,这个文件头包含语音信号的所有参数信息(声道数、采样率、量化位数、比特率....)44个字节的头文件由3个区块组成:

根据上图,所有区块的内容如下:

根据上述的WAV格式标准,我们就可以在鸿蒙上实现一个将PCM格式文件编码成WAV格式文件的功能函数了

WAV文件格式还是比较清晰的,因此实现上也比较简单,将PCM文件的内容读取出来,按照上述的格式,在WAV文件中写入文件头,再将PCM文件内容续写到WAV文件中即可完成PCM到WAV格式的音频文件转换。

由于鸿蒙ArkTS对前端的友好性,对于前端来说,实现上也变得更加简单。

基于HarmonyOSNEXT广泛应用的ArkTS语言,众多前端技术得以在鸿蒙系统上顺畅运用。例如,在上述音频编码实现中,DataView类和fs模块的表现与前端中的DataView以及Node环境下的fs模块的使用上高度相似,这使得在功能实现过程中减少了一些技术障碍。

就目前来看,HarmonyOSNEXT在一定情况下为前端开发者拓展了新的领域方向,提供了更多选择的可能性。

THE END
1.程序员如何接副业赚钱?看这一篇就够了!有不少的编程人员,就是通过接外包,帮助别人开发应用程序的方式赚钱的。这里面的佣金多少,就看自己的议价能力如何,跟甲方怎么谈的问题了。但毫无疑问,这也是一条行之有效的赚钱之路,甚至资源丰富的或者是技术过硬的,凭此方法,能够实现财务自由。 3. 通过自己开发应用程序赚钱 https://blog.csdn.net/ewii12567/article/details/144353290
2.web前端如何赚外快?Worktile社区web前端赚外快的方法有很多,以下列举几种常见的方法: 自由职业者:成为一名自由职业的web前端开发人员,接受工作委托完成网站或应用的开发任务。通过拓展自己的客户群和项目合作,可以获得更多的工作机会和报酬。 众包平台:在各类众包平台上注册成为web前端开发者,接受平台发布的任务,并按照要求完成开发工作。通过参与众包项目https://worktile.com/kb/ask/809122.html
3.赚点外快:谷歌编程之夏期待P4的参与腾讯云开发者社区P4 社区对今年项目的简要概述:为 P4C 开发文档网站该项目涉及构建一个主站来改进 P4编译器(P4C) 的文档。目前,文档分布在各种 Markdown 文件和幻灯片中,这可能会让新贡献者感到困惑。该项目的目标是使用现有工具创建一个架构良好且易于导航的文档站点。将 p4-constraints 前端集成到 P4C 中p4-constraints 扩展了https://cloud.tencent.com/developer/article/2407040
4.一个人的网站开发php教程专心开发前端页面就行了。前端和后端是独立分离的,只需要很小的整合就可以了。二、后台开发1.如果前端的页面都开发好了,接下来要实现页面上一些功能性的东西了,如果注册、登陆等等功能,就要后台开发了,这里我也建议用框架,后台开发框架也是海了去了,就用Thinkphp的吧,国产的框架,还行,套路还是比较明显的。网址:https://m.php.cn/faq/332036.html
5.赚外快也能酷!精选男生最爱副业类型,双重选择等你来挑在当下大数据是个十分吃香的行业领域,如果你正好也擅长这方面的技术,那么就可以去做一些编程与开发的副业工作。无论是前端开发、后端开发、移动应用开发还是游戏发开,都可以利用业余时间接一些项目或任务,收益都是很高的。 以上就是小编为大家分享10个适合男生的兼职副业,大家可以根据自己的自身情况和需求来自由选择。如https://www.jianshu.com/p/119b53ce2d31
6.学习前端的心得学习前端的心得 1、知识的总结 项目开发中也许学到了一个技能,或者一个知识点,但是通过写博客会加深巩固自己学习的东西,自己写不出来可能说明你对这个知识点理解还不够深入。 2、表达能力的提升 程序员大都不善于沟通,是因为表达能力不行,但是通过坚持写博客,自己的表达能力与表达逻辑会慢慢锻炼出来,逐渐的就会影响https://www.oh100.com/kaoshi/web/340273.html
7.cpa引流变现案例分享:我是如何打造一个年赚百万的cpa社群的!我们要寻找的是:没有什么网络经验,但想在网上轻松挣点外快的用户。 最好是宝妈、大学生、外卖小哥这类空余时间比较多的群体。 这里我说说我的引流手法: 找到10个宝妈、大学生作为种子粉丝,向他们派发任务并结算佣金。对他们来说你给他们带来了时间快速变现的方法,他们可能在网上找了很久的任务,不但赚不到钱还没不http://njkaifa.cn/news/965.html
8.排队还能赚外快?揭秘购物新玩法!揭秘商业模式模式开发源码系统排队也能赚外快?这新模式太吸睛了!揭秘商业模式、模式开发与源码系统一、商业模式揭秘1. 排队免单/返利模式概述 近年来,一种创新的排队免单/返利模式在电商和实体店领域迅速崛起,成为吸引消费者的新潮流。该模式通过让消费者在购物后进行排队,根据排队顺序享受免单或返利,从而激发消费者的购买欲望,提高用户粘性和平台http://104836288.b2b.11467.com/m/news/7777884.asp
9.singlejava实际使用时,可直接复制做好的模块代码,少许修改即可实现一个模块。代码生成器也在开发中~ JWT Token实现登录和权限校验,token自动刷新 前端具备根据权限控制按钮、链接显示隐藏功能 AOP方式权限校验,自定义了权限注解,可控制指定接口是否需要进行登录校验和权限校验,未声明注解的默认同时进行登录和权限校验 https://gitee.com/panmanyuan/single-java-demo
10.web前端培训机构web前端开发培训班火星时代web培训课程包括web前端开发工程师培训、css3培训、html5培训、html、动效、响应式、移动端、javascript、jq等,学web前端技术就到火星时代教育,行内名师授课,毕业推荐就业。https://www.hxsd.com/seolist/itpx/
11.前端能独立的开发网站吗,网站建设和设计方案1、前端能独立的开发网站吗,网站建设和设计方案? 企业网站建设流程大体上分为4步,分别是购买域名、服务器或虚拟主机、建站系统、网站模板。 企业网站建设流程详细流程就多了3步,共计7步,分别是购买域名、服务器或虚拟主机、建站系统或定制开发、网站模板或定制设计、域名备案、网站测试、最后一步网站上线。 https://www.gzit.cn/viewnews_9913.html
12.北大青鸟web前端培训北大青鸟web培训Web前端在IT行业真正受到重视大概也就六七年的时间。随着互联网的迅猛发展,各种互联网项目也不断兴起,对用户体验提出了更高的要求,前端开发也由此逐渐成为了重要的研发角色。从2012年至今,“Web前端工程师”的需求持续走高,薪酬也是水涨船高。 —— 发展前景 —— https://www.qinxue365.com/course/585417.html
13.不只是你他们也被坑过如果是搞移动研发的,就去找iOS、Android开发项目;如果是负责前端,就看看网站设计或者Javascript优化之类的;如果是后端,会写Java、SQL的,就做一些数据库设计等。这样的好处是什么?针对每个客户的类似需求,轻车熟路,很多时候代码也能重复利用。既完成了对方交代的任务,又给自己节省了不少时间。当然,要是能与你的工作https://m.zol.com.cn/miparticle/5761456.html
14.马上就要2024年了,Flutter还值得学习吗?51CTO博客如果是零基础想进入移动端开发的话,那么还是建议选择一种原生开发来学习,Flutter只是作为技术储备的扩充。 对于我个人来说,需要最小的学习成本,最大限度地扩展我的技术覆盖范围。而且我所需要实现的移动端的形式,能够实现一些我个人的想法,偶尔能接个外快,并且不以移动端开发作为技术重点,Flutter就非常合适了。 https://blog.51cto.com/u_16163442/11794341