网络音频流播放器的实现 -- 基于RT-Thread柿饼派
一、概要
1.1、功能
基于柿饼派实现一个网络音频流播放器,目前实现的基本功能是这样的:
- 扫描附近的WiFi,输入密码后连接WIFi
- 能够播放本地音乐
- 能够搜索音乐
- 能够播放网络音乐
- 能够查看所播放网络音乐的歌词
- 能够查看所播放网络音乐评论区的内容
1.2、开发环境
开发环境是由RT-thread 提供的一整套工具:
- 硬件:柿饼派:RT-thread 官方的一款GUI开发板,屏幕大小480X272,底层驱动由RT-thread操作系统实现,上层GUI应用可以采用JavaScript开发。
- PersimmonUI Builder – 版本:1.4.20200918
GUI开发软件PersimmonUI Builder,所见即所得的开发模式,该工具支持控件的布局和操作,同时可以在该软件结合柿饼UI提供的控件编写对应的JavaScript代码,支持一键下载,支持在线仿真(这个功能省却了很多时间,可以先预览效果再下载)。
二、网络音频流播放器的功能与实现
功能和界面都有点模拟网易云音乐,工程只使用了一个page,别的功能区显现、界面切换等等都是使用了自定义面板(这个控件真滴很强),如下所示:
先看看屏幕下方的功能区说明:
功能区负责切换不同的功能,主要包括个性推荐、在线音乐、本地音乐、设置等。
- 个性推荐区
打算实现的是网易云一些歌单的推荐,但是目前没有做,所以用动态图片糊弄一下,有空再实现。
- 本地音乐
用于播放存储在本地的音乐,可以选择某一曲音乐进行播放
- 网络音乐
这里由于是仿真,无法使用WIFI,所以无法搜索,使用柿饼派实物是可以实现音乐的搜索的,由于文本输入控件目前只能输入字母、数字等字符,无法输入中文,所以只能选择使用拼音之类的方式搜索。
- 设置界面
同样是因为仿真的原因,无法使用WIFI控件,所以WiFi的名称都没有显示出来,如果是直接使用柿饼派,是可以直接查看到你附近的WIFI,点击后,就可以输入密码。连接WIFI了。
- 本来还想描述每个功能是如何实现的,但是感觉太浪费时间了,且工程还有很多不足和BUG,之后还得慢慢完善,将工程分享出来,各位看看源代码也能够知道是怎么实现的。
三、工程资料和展示
- 项目工程已上传到Github,工程地址:persimmonUI_network_music_player
该工程后期会不断更新。 - 工程百度云地址:链接:https://pan.baidu.com/s/1J8obDrbNqx6wfvvIBBNWxA 提取码:ucrv
下载解压后,就music文件夹放入柿饼派SD卡的根目录下即可,然后下载工程文件进入柿饼派。
四、参考资料和工具
4.1、JavaScript相关
- 《菜鸟教程》之 JavaScript 教程
非常适合入门的教程,初学JavaScript的可以快速浏览一下,能够很快的入门。
4.2、素材相关
4.2.1、静态图片
- 觅元素
图片素材非常多的图片素材,尤其是一些免扣的图片。 - 百度图片
这个素材更多了,不过需要自己抠图
4.2.2、gif图片
- https://www.soogif.com/
- 百度图片
4.3、开发工具
- gif处理软件 – ScreenToGif [官网地址]
非常优秀的一款处理GIF的开源软件,能够录制、绘制和处理GIF,功能强大,且很容易使用。
个人最喜欢的是里面能够将gif转换成图片帧,还有裁剪gif大小等等。 - 图片在线处理工具 photopea
该工具相当于PS的在线版本,一般不怎么抠图的话,应该不会安装占用空间那么大的Photoshop。诸如抠图等比较简单的工作使用该工具还是能够很方便的去实现。
4.4、网易云音乐相关API
- 收藏这些API,获取网易云音乐数据超轻松
- 网易云音乐在线获取
4.5、个人在使用柿饼派的一些笔记
- 使用Persimmon UI Builder 开发的一些技巧和注意事项 – (RT-thread 柿饼UI)
网络音频流播放器的实现 -- 基于RT-Thread柿饼派相关推荐
- ESP32网络音频播放器软硬件框图
一.前言 今天这篇博文记录一下有小伙伴问我如何通过ESP32实现一个网络音频流播放器,故提供了一下对应的软硬件框图,以此作为记录.对于软件上具体如何从零开始实现,请阅读我的其他对应博文. 二.框图
- 基于QT的网络音乐播放器(一)
自学Qt已经有一段时间了,但是始终感觉自己还是很弱(其实并不是感觉自己很弱,是自己本来就很弱,哈哈).自己也照着书上敲了几个例子,但觉得还是要写点东西才能真正运用起来.所以,前段时间就写了个很简单的音 ...
- android 收藏歌曲功能,基于android的网络音乐播放器-回调实现音乐播放及音乐收藏的实现(三)...
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-播放音乐及收藏音乐的效果展示(四)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-回调实现音乐播放及音乐收藏的实现(三)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-添加viewpager和fragment实现滑动切换多个界面(二)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-网络音乐的搜索和展示(五)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-下载完成后下拉音乐列表刷新(八)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-网络音乐的多线程下载(六)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
最新文章
- DDoS高防服务如何选择?
- struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数
- GridSearchCV和RandomizedSearchCV调参
- asp adodb连接mysql数据库语句_ASP连接MySQL数据库的方法
- 把view放在地图覆盖物上
- 在线编辑ewebeditor
- 润乾集算报表实现多数据集关联的示例
- 2017年房产事迹大整理
- RichTextBox中插入图片
- vivadomatlab图像算法仿真
- 手写NMS和魔改(Pytorch版本)
- 列联表分析基于R语言
- Ubuntu调整缩放
- 大数据处理的基本流程是什么?
- Maya XGen 毛发制作1 - 创建头发纹理
- ErrMsg:server is DOWN now, please try again later!
- echarts迁徙效果
- 图的深度优先算法和广度优先算法
- shell脚本--重启服务
- #DAYU200#短信倒计时
热门文章
- python微信公众号自动化搜题
- 2021 开工、OKR、护城河
- CSS3字号11/10/9/8px实现方法
- conda 换成清华的源_[mcj]conda设置清华源以及更换删除源|conda常用命令集锦
- 等额本金.等额本息.房贷计算
- oracle部分命令
- 华为 - HCNA 笔记
- 舆情监测系统是什么,有什么意义(TOOM)舆情监测系统作用?
- 【优达学城测评】P3: Wrangle OpenStreetMap Data--Extracting Data(3)
- WMM: WiFi MultiMedia WiFi多媒体应用