开发者社区> 技术小达人> 正文

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

简介: 技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

编辑语:

技术解码栏目:是面向开发者详细解读芯片开放社区(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/


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
简答:如何设计一个深度学习网络来实现帧内预测?
简答:如何设计一个深度学习网络来实现帧内预测?
54 0
网路系统规划与设计(CCNA)复习纲要 第一部分:网络通识基础
网路系统规划与设计(CCNA)复习纲要 第一部分:网络通识基础
54 0
《深度学习》李宏毅 -- task5网络技巧设计
局部最小值saddle point和鞍点local minima
27 0
RVB2601应用开发实战系列六:网络播放器设计(二)
技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。
93 0
RVB2601应用开发实战系列六:网络播放器设计(二)
本文是基于RVB2601开发板实现网络播放器设计的下篇,主要介绍基于YoC软件平台av组件采用http协议播放一首网络mp3歌曲。
310 0
RVB2601应用开发实战系列五: 网络播放器设计(一)
本文是基于RVB2601开发板实现网络播放器设计的上篇,将涉及环境搭建、例程开发、增加(修改)本地音频三部分内容。
233 0
网络切片技术 |带你读《5G无线网络规划与设计》之五
术语“切片”在工业和学术界用于对几乎任何类型的(网络)资源进行切片。在 5G 系统中,切片特指针对构建 PLMN 的资源。但是,PLMN 网络切片部署时可以使用其他领域内的切片技术,例如传输网中的切片技术等。
7764 0
云无线接入网络的前向回传感知设计 | 带你读《5G系统关键技术详解》之十一
云无线接入网络(C-RAN,Cloud Radio Access Network)是第五代(5G,Fifth Generation)无线蜂窝网络的新兴范例,传统的物理层基站(BS,Base Station)传输和接 收基础设施使用云计算技术进行虚拟化。
984 0
Kubernetes网络接口(CNI) midonet网络插件设计与实现
先来讲讲什么是CNI? CNI(容器网络接口)是一种操作容器网络规范,包含方法规范,参数规范等。 CNI只关心容器的网络连接,在容器创建时分配网络资源,并在删除容器时删除分配的资源。因为这个焦点,CNI有广泛的支持,规格易于实现。
1630 0
kubernetes容器网络接口(CNI) midonet网络插件的设计与实现
相关原理概述 先来讲讲什么是CNI? CNI(容器网络接口)是一种操作容器网络规范,包含方法规范,参数规范等。 CNI只关心容器的网络连接,在容器创建时分配网络资源,并在删除容器时删除分配的资源。因为这个焦点,CNI有广泛的支持,规格易于实现。
1330 0
文章
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
可预期数据中心网络
立即下载
可编程网络视角的网络创新研究
立即下载
思科软件定义访问:实现基于业务意图的园区网络
立即下载


http://www.vxiaotou.com