RVB2601应用开发实战系列五: 网络播放器设计(一)

简介: 技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。

编辑语:

技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。

一.前言

RVB2601是基于平头哥RISC-V生态芯片的开发套件,开发者基于RVB2601可进行端云一体的物联网应用开发及音频方案开发。周一向大家推荐了RVB2601应用开发实战系列四:FOTA镜像升级。本文介绍如何在RVB2601上进行网络播放器设计(一)。

基于RVB2601的本地播放器是通过开发板自带的codec,播放本地音频数据。建议在在看本文之前,先详细看下RVB2601开发板快速上手教程。本例程名为ch2601_player_demo,可以通过剑池CDK直接下载。

二. 环境搭建

  • 硬件:RVB2601开发板一块、USB线2根
  • 软件:集成开发工具(剑池CDK)(Windows)

2.1 硬件介绍

image.png

三.  例程开发

3.1 示例获取

打开剑池CDK软件。点击红色处按钮,点击新建工程按钮。

image.png

在搜索框输入ch2601_player_demo ,点击右边的搜索按钮,ch2601_player_demo就显示出来了。

image.pngimage.gif

点击创建工程。在弹出框输入工程名字,版本号默认版本即可。点击下载方案按钮,等待下载完成。

image.png

image.gif

3.2 例程使用

分别点击工具栏中的编译烧写按钮,完成编译烧写。

image.png

image.gif

3.2.1 编译成功

image.pngimage.gif

3.2.2 烧写成功

image.pngimage.gif

3.2.3 运行例程

按下开发板的复位键(RST),串口将输出如下log,并听到音频“欢迎使用YoC播放器例程”。

image.pngimage.gif

3.2.4 cli命令控制音频

当前cli音频支持命令如下

1. player
2. player play welcom/raw  //播放本地mp3或裸流
3. player pause            // 暂停播放
4. player resume           // 恢复播放
5. player stop             // 停止播放
6. player help
c

比如串口输入player play raw,可以看到如下log以及听到音频“裸流播放”。

image.gifimage.png

四. 增加(修改)本地音频

4.1 mp3文件转换成对应的头文件

  1. 使用windows工具“DataToHex”将mp3文件生成数组保存为.h文件, 或者使用linux下的xxd工具将mp3文件生成.h文件,命令如下 xxd -i xx.mp3 > out.h
  2. 对应的头文件放在ch2601_player_demo/app/include
  3. 并在数组定义前增加const关键字,参考ch2601_player_demo/app/include/welcome_mp3.h

4.2 代码中增加新音频

  1. 使用player_play播放对应的音频,可参考
    2601_player_demo/app/src/player_demo.c中的播放。

image.pngimage.gif

注: 由于ch2601芯片的flash较小,留给prim分区只有420Kb,本地mp3文件增加时可能会导致链接不过。

image.pngimage.gif

这时候就需要减小对应的mp3文件或者删除不必要的文件。

五. 参考资料

YoC平台介绍多媒体组件介绍:

https://yoc.docs.t-head.cn/yocbook/Chapter5-%E7%BB%84%E4%BB%B6/%E5%A4%9A%E5%AA%92%E4%BD%93%E6%92%AD%E6%94%BE%E5%99%A8/


相关文章
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
6月前
|
监控 Linux 测试技术
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
🌟 蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕C++与零拷贝网络编程,从sendfile到DPDK,实战优化服务器性能,毫秒级响应、CPU降60%。分享架构思维,共探代码星辰大海!
|
8月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
330 6
|
6月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
7月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
613 11
|
8月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
425 0
|
9月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
488 7
|
8月前
|
安全 Linux
利用Libevent在CentOS 7上打造异步网络应用
总结以上步骤,您可以在CentOS 7系统上,使用Libevent有效地构建和运行异步网络应用。通过采取正确的架构和代码设计策略,能保证网络应用的高效性和稳定性。
219 0
|
10月前
|
存储 监控 网络协议
HarmonyOS NEXT实战:网络状态监控
本教程介绍如何在HarmonyOS Next中使用@ohos.net.connection模块实现网络状态监控,并通过AppStorage进行状态管理,适用于教育场景下的网络检测功能开发。
363 2
|
10月前
|
JavaScript 前端开发 开发工具
HarmonyOS NEXT实战:加载网络页面资源
本课程讲解如何在HarmonyOS SDK中使用Web组件加载网络页面,包括权限配置、页面加载及动态切换。适合教育场景下开发具备网页浏览功能的应用。
239 0

热门文章

最新文章