一、概要

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柿饼派相关推荐

  1. ESP32网络音频播放器软硬件框图

    一.前言 今天这篇博文记录一下有小伙伴问我如何通过ESP32实现一个网络音频流播放器,故提供了一下对应的软硬件框图,以此作为记录.对于软件上具体如何从零开始实现,请阅读我的其他对应博文. 二.框图

  2. 基于QT的网络音乐播放器(一)

    自学Qt已经有一段时间了,但是始终感觉自己还是很弱(其实并不是感觉自己很弱,是自己本来就很弱,哈哈).自己也照着书上敲了几个例子,但觉得还是要写点东西才能真正运用起来.所以,前段时间就写了个很简单的音 ...

  3. android 收藏歌曲功能,基于android的网络音乐播放器-回调实现音乐播放及音乐收藏的实现(三)...

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  4. 基于android的网络音乐播放器-播放音乐及收藏音乐的效果展示(四)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  5. 基于android的网络音乐播放器-回调实现音乐播放及音乐收藏的实现(三)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  6. 基于android的网络音乐播放器-添加viewpager和fragment实现滑动切换多个界面(二)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  7. 基于android的网络音乐播放器-网络音乐的搜索和展示(五)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  8. 基于android的网络音乐播放器-下载完成后下拉音乐列表刷新(八)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  9. 基于android的网络音乐播放器-网络音乐的多线程下载(六)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

最新文章

  1. DDoS高防服务如何选择?
  2. struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数
  3. GridSearchCV和RandomizedSearchCV调参
  4. asp adodb连接mysql数据库语句_ASP连接MySQL数据库的方法
  5. 把view放在地图覆盖物上
  6. 在线编辑ewebeditor
  7. 润乾集算报表实现多数据集关联的示例
  8. 2017年房产事迹大整理
  9. RichTextBox中插入图片
  10. vivadomatlab图像算法仿真
  11. 手写NMS和魔改(Pytorch版本)
  12. 列联表分析基于R语言
  13. Ubuntu调整缩放
  14. 大数据处理的基本流程是什么?
  15. Maya XGen 毛发制作1 - 创建头发纹理
  16. ErrMsg:server is DOWN now, please try again later!
  17. echarts迁徙效果
  18. 图的深度优先算法和广度优先算法
  19. shell脚本--重启服务
  20. #DAYU200#短信倒计时

热门文章

  1. python微信公众号自动化搜题
  2. 2021 开工、OKR、护城河
  3. CSS3字号11/10/9/8px实现方法
  4. conda 换成清华的源_[mcj]conda设置清华源以及更换删除源|conda常用命令集锦
  5. 等额本金.等额本息.房贷计算
  6. oracle部分命令
  7. 华为 - HCNA 笔记
  8. 舆情监测系统是什么,有什么意义(TOOM)舆情监测系统作用?
  9. 【优达学城测评】P3: Wrangle OpenStreetMap Data--Extracting Data(3)
  10. WMM: WiFi MultiMedia WiFi多媒体应用