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平台介绍 多媒体组件介绍

相关文章
|
22天前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全能增强
在过去半年,ALB Ingress Controller推出了多项高级特性,包括支持AScript自定义脚本、慢启动、连接优雅中断等功能,增强了产品的灵活性和用户体验。此外,还推出了ingress2Albconfig工具,方便用户从Nginx Ingress迁移到ALB Ingress,以及通过Webhook服务实现更智能的配置校验,减少错误配置带来的影响。在容灾部署方面,支持了多集群网关,提高了系统的高可用性和容灾能力。这些改进旨在为用户提供更强大、更安全的云原生网关解决方案。
365 17
|
21天前
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
1月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
75 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
24天前
|
数据采集 JavaScript 前端开发
异步请求在TypeScript网络爬虫中的应用
异步请求在TypeScript网络爬虫中的应用
|
1月前
|
JSON Dart 前端开发
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
78 8
|
2月前
|
存储 监控 物联网
计算机网络的应用
计算机网络已深入现代生活的多个方面,包括通信与交流(电子邮件、即时通讯、社交媒体)、媒体与娱乐(在线媒体、在线游戏)、商务与经济(电子商务、远程办公)、教育与学习(在线教育平台)、物联网与智能家居、远程服务(远程医疗、智能交通系统)及数据存储与处理(云计算、数据共享与分析)。这些应用极大地方便了人们的生活,促进了社会的发展。
73 2
计算机网络的应用
|
1月前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
181 7
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
93 8
|
2月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
67 2