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月前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
44 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
2天前
|
机器学习/深度学习 数据采集 编解码
基于DeepSeek的生成对抗网络(GAN)在图像生成中的应用
生成对抗网络(GAN)通过生成器和判别器的对抗训练,生成高质量的合成数据,在图像生成等领域展现巨大潜力。DeepSeek作为高效深度学习框架,提供便捷API支持GAN快速实现和优化。本文详细介绍基于DeepSeek的GAN技术,涵盖基本原理、实现步骤及代码示例,展示其在图像生成中的应用,并探讨优化与改进方法,如WGAN、CGAN等,解决模式崩溃、训练不稳定等问题。最后,总结GAN在艺术创作、数据增强、图像修复等场景的应用前景。
76 16
|
1月前
|
机器学习/深度学习 编解码 自动驾驶
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
80 16
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
9天前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
|
8天前
|
机器学习/深度学习 API Python
Python 高级编程与实战:深入理解网络编程与异步IO
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发和 API 设计。本文将深入探讨 Python 在网络编程和异步IO中的应用,并通过实战项目帮助你掌握这些技术。
|
24天前
|
机器学习/深度学习 数据采集 运维
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
67 19
|
12天前
|
机器学习/深度学习 数据可视化 API
DeepSeek生成对抗网络(GAN)的训练与应用
生成对抗网络(GANs)是深度学习的重要技术,能生成逼真的图像、音频和文本数据。通过生成器和判别器的对抗训练,GANs实现高质量数据生成。DeepSeek提供强大工具和API,简化GAN的训练与应用。本文介绍如何使用DeepSeek构建、训练GAN,并通过代码示例帮助掌握相关技巧,涵盖模型定义、训练过程及图像生成等环节。
|
22天前
|
网络协议 安全 网络安全
应用程序中的网络协议:原理、应用与挑战
网络协议是应用程序实现流畅运行和安全通信的基石。了解不同协议的特点和应用场景,以及它们面临的挑战和应对策略,对于开发者和用户都具有重要意义。在未来,随着技术的不断发展,网络协议也将不断优化和创新,为数字世界的发展提供更强大的支持。
|
2月前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全能增强
在过去半年,ALB Ingress Controller推出了多项高级特性,包括支持AScript自定义脚本、慢启动、连接优雅中断等功能,增强了产品的灵活性和用户体验。此外,还推出了ingress2Albconfig工具,方便用户从Nginx Ingress迁移到ALB Ingress,以及通过Webhook服务实现更智能的配置校验,减少错误配置带来的影响。在容灾部署方面,支持了多集群网关,提高了系统的高可用性和容灾能力。这些改进旨在为用户提供更强大、更安全的云原生网关解决方案。
752 24
|
3月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
108 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙

热门文章

最新文章