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

简介: 本文是基于RVB2601开发板实现网络播放器设计的上篇,将涉及环境搭建、例程开发、增加(修改)本地音频三部分内容。

本文作者:王佐

本文转自:芯片开放社区(OCC)

一、前言

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


二、环境搭建


1.硬件介绍

1.jpg


三、例程开发

1.示例获取

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

2.png


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

3.png


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

4.png


2.例程使用

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

5.png


2.1 编译成功

6.png


2.2 烧写成功

7.png


2.3 运行例程

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

8.png


2.4 cli命令控制音频

当前cli音频支持命令如下

playerplayerplaywelcom/raw//播放本地mp3或裸流playerpause// 暂停播放playerresume// 恢复播放playerstop// 停止播放playerhelp


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

9.png


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

1.mp3文件转换成对应的头文件

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


2.代码中增加新音频

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

10.png

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


11.png

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


五、参考资料

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

相关文章
|
1天前
|
机器学习/深度学习 自然语言处理 算法
深度学习中的自适应神经网络:理论与应用
【7月更文挑战第1天】本文旨在探究自适应神经网络在深度学习领域的理论基础及其在多个应用场景中的实际效能。通过分析自适应机制如何优化网络结构,提高学习效率和模型泛化能力,我们进一步讨论了自适应神经网络面临的主要挑战及未来发展方向。
|
2天前
|
Java API 开发者
Java网络编程基础与Socket通信实战
Java网络编程基础与Socket通信实战
|
2天前
|
消息中间件 Java RocketMQ
消息队列 MQ产品使用合集之当SpringBoot应用因网络不通而启动失败时,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3天前
|
Java API
Java网络编程实战指南与示例代码
Java网络编程实战指南与示例代码
|
3天前
|
SQL 安全 网络安全
网络安全攻防实战:黑客与白帽子的较量
【6月更文挑战第29天】网络安全战场,黑客与白帽子的博弈日益激烈。黑客利用漏洞扫描、DDoS、SQL注入等手段发起攻击,而白帽子则通过防火墙、入侵检测、数据加密等技术防守。双方在技术与智慧的较量中,未来将更多融入AI、区块链等先进技术,提升攻防效率与安全性。面对网络威胁,提升技能与意识至关重要。
|
7天前
|
前端开发 Java API
网络防抖动在Springboot中有哪些应用?
【6月更文挑战第25天】在 Spring Boot 中,网络防抖动(Debounce)技术可以应用于多种场景,以避免短时间内重复处理相同的请求,提高系统性能和用户体验。
31 8
|
8天前
|
机器学习/深度学习 算法 网络安全
机器学习在网络安全威胁检测与防御中有广泛的应用
机器学习在网络安全威胁检测与防御中有广泛的应用
13 1
|
9天前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
21 3
|
10天前
|
缓存 安全 Java
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
【6月更文挑战第22天】Java的URL和URLConnection在现代网络编程中扮演关键角色,不仅用于基本HTTP请求,还在微服务(弹性自动化调用)、智能缓存策略、异步处理和安全增强方面展现创新应用。例如,它们支持动态服务发现、HTTP缓存控制、非阻塞I/O和HTTPS加密,助力开发者构建高效、安全的网络解决方案。通过掌握这些技术,可以提升项目性能,应对云计算和大数据时代的挑战。
|
10天前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【6月更文挑战第22天】在Java网络编程中,理解和运用URL与URLConnection是关键。URL代表统一资源定位符,用于标识网络资源;URLConnection则用于建立与URL指定资源的连接。通过构造URL对象并调用openConnection()可创建URLConnection。示例展示了如何发送GET请求读取响应,以及如何设置POST请求以发送数据。GET将参数置于URL,POST将参数置于请求体。练习这些基本操作有助于提升网络编程技能。

热门文章

最新文章