来源

之前毕业的时候实在闲的无聊,正好手头上有个树莓派,就写了个简单的网易云音乐播放器,代码很简单,写的也很乱,功能更简单–只能搜索歌曲,然后播放之,放在了github上,没想到竟然收到三十多颗星,实在惭愧,然后放年假,就想着把功能稍微完善一下,于是就有了WxNeteaseMusic,其实做的工作也不多,基于itchat和网易云音乐的python API,废话不多说,容我简单介绍一下吧。

安装

项目源码都都在我的Github上,注意一共有两个版本,电脑版和树莓派版,电脑版,即Windows/Linux/OSX自用的是Python的mp3play包,由于树莓派的Raspbian不支持mp3play,所以只能使用自带的omxplayer。

电脑版下载

树莓派版下载

大家先下载下来,麻烦顺手点个Star呀~,你们的Star才是我坚持做下去的动力,谢谢哦。

下面我们以树莓派环境为例,安装其实很简单,都是一些python的pip依赖包:

  • sudo apt-get install python-dev
  • sudo pip install requests
  • sudo pip install future
  • sudo pip install crypto
  • sudo pip install bs4
  • sudo pip install pycrypto
  • sudo pip install mp3play (如果是树莓派平台,可以不用安装此包)

上面这些依赖应该够了,如果提示缺少包的话,大家根据提示自行安装就可以了,然后切换到项目目录,执行 python run.py ,用微信扫码登陆,Bingo, just enjoy it !

功能

嗯,先来看看都有什么功能。

  • H: 帮助信息
  • L: 登陆网易云音乐
  • U: 用户歌单
  • M: 播放列表
  • N: 下一曲
  • R: 正在播放
  • S: 歌曲搜索
  • T: 热门单曲
  • G:推荐歌单(树莓派版由于在使用session模块时有问题,因此暂时不提供该功能)
  • E: 退出

这就是WxNeteaseMusic V0.1版的功能菜单啦,后面如果大家有其它的需求或者使用过程中有什么问题,都可以提出来,github上提Issue或者在下面评论都可以,后面我会尽量完善。

使用

微信扫码登陆后,向登陆的微信号发送命令,就可以使用了。我的微信号是可以自己向自己发送信息的,使用起来比较方便,但是有些微信号好像不能自己给自己发信息,这种情况下,就需要通过另一个微信号向扫码登陆的微信号发命令。这里需要注意,扫码的时候itchat是以网页版/电脑版的方式登陆微信的,如果扫码的手机退出微信客户端,那么WxNeteaseMusic自然也不能正常使用。不过也有手机退出微信但是网页版/电脑版不退出的办法,大家自行百度一下。
如果大家看一下代码就会发现,WxNeteaseMusic是以空格为分隔符来切割命令的,所以对于有两个或者三个参数的命令时,需要以空格为分隔符,下面我具体来介绍一下。

获取帮助信息

发送 H

登陆网易云音乐

命令格式为 L 用户名 密码,注意,L用户名密码之间以空格分开,这里的用户名和密码是你的网易云音乐的用户名和密码,邮箱格式。之后客户端会收到一条消息,登陆成功或者登陆失败,如果登陆成功,WxNeteaseMusic会保存你的UserId,所以并不需要每次使用都要登陆账号,除非要换其它账号,UserId在网易云音乐中是唯一的,用户的歌单、收藏列表等信息都是通过UserId来获取的。登陆成功后,就可以使用下面的功能了,默认是我的UserId哦,别忘记登录呀~

获取用户歌单

登陆成功后,播放列表默认为网易云音乐的热歌榜,些时发送U可以获取用户的歌单,就是你在网易云音乐创建的歌单,获取歌单后,通过命令U 序号来选择对应的歌单,注意U序号之间有空格,此时播放列表是你歌单里的歌曲。

播放列表

使用过程中,发送M可以随时查看当时的播放列表。

下一曲

发送命令N来播放下一曲,N 序号播放列表中对应的歌曲,当前列表通过命令M获取。这里需要注意,通过N 序号选择列表中的歌曲时,播放是临时的,并不保存在播放列表中,此时再发R命令时显示的播放信息是错误的。

正在播放

发送命令R可获取正在播放的歌曲详情。

歌曲搜索

发送命令S 歌曲名可进行歌曲搜索,成功后会返回搜索结果列表,再发送S 歌曲名 序号来播放对应序号的歌曲,注意,两次命令的歌曲名必须完全一致。

热门单曲榜

发送T获取网易云音乐的热门单曲榜,并更新播放列表。

推荐歌单

发送G获取网易云音乐的热门单曲榜,并更新播放列表。

退出

发送E退出播放,此时播放列表变为空,用户如果要恢复播放,需要获取歌单更新播放列表。

功能演示

好吧好吧,说了这么多,还是让我来实际来演示一下吧。注意,演示中的登陆密码我已经修改了,你们就不要试了哈。

如果还不清楚的话,我还拍了个小视频,放在了优酷上,请点击这里观看。

其它

当前在树莓派上使用的播放器为raspbian自带的omxplayer,因为python的mp3play包不能在树莓派上使用,后来对比了mpg123和omxplayer发现,omxplayer音质还要相对好一些。另外,在登陆网易云音乐的时候需要进行一个加密算法,由于树莓派的计算能力有限,所以需要多等待一会。

BUGS

1.网易云音乐中部分音乐链接已失效,所以可能导致播放失败的情况,这种情况下,因为树莓派版使用的是omxplayer,而非其它平台下的WxNeteaseMusic使用的mp3play模块,omxplayer并不能感知到播放失败,还会一直等待当前播放失败的歌曲的时长才会播放下一首,或者其它命令触发切换动作,如(N)等,建议使用网易音乐的客户端把播放失败的这首歌直接删除掉,这样在树莓派上播放时就不会卡住了。而电脑版使用的是python的mp3play包,播放失败时会自动跳过。

2.通过N 序号选择列表中的歌曲时,播放是临时的,并不保存在播放列表中,此时再发R命令时显示的播放信息是错误的。

树莓派网易云音乐播放器相关推荐

  1. 树莓派云音乐c语言,基于树莓派的红外遥控版网易云音乐播放器

    基于树莓派的红外遥控版网易云音乐播放器.下面是遥控键盘示意图: CH- CH CH+ << >> || - + EQ 0 100+ 200+ 1 2 3 4 5 6 7 8 9 ...

  2. linux树莓派网易云音乐,基于树莓派的红外遥控版网易云音乐播放器

    基于树莓派的红外遥控版网易云音乐播放器.下面是遥控键盘示意图: CH- CH CH+ << >> || - + EQ 0 100+ 200+ 1 2 3 4 5 6 7 8 9 ...

  3. HTML+CSS+JAVASCRIPT 高仿低配网页版网易云音乐播放器 1

    HTML+CSS+JAVASCRIPT 高仿低配网页版网易云音乐播放器 前言 没有使用任何框架,只是想用最简单纯js的代码实现下 前台: Javascript+jQuery 后台: php/nodej ...

  4. HTML网页调用 网易云 音乐播放器代码

    表现形式一:单曲播放 调用代码: <iframe frameborder="no" border="0" marginwidth="0" ...

  5. vue3 + TypeScript + vant +pinia 实现网易云音乐播放器

    vue3 + TypeScript + vant +pinia 实现网易云音乐播放器 实现功能 每日推荐 私人FM 歌单广场 排行榜 歌手 歌曲播放 mv播放 上下滑动切换 云盘上传 用户登录 歌单创 ...

  6. 移动应用开发——uni-app框架 仿网易云音乐播放器学习心得

    目录 一.uni-app框架介绍 1.什么是 uni-app 2.为什么要选择uni-app 3.uni-app 统一规范 4.uni-app功能框架 二.开发工具与项目创建 1.开发工具 2.项目创 ...

  7. YesPlayMusic:一个高颜值多音频资源的网易云音乐播放器

    都2023年了还有人不知道这款开源免费下载的多音频,高颜值的音乐播放器吗(文末有下载地址) 首先我们来看一下YesPlayMusic的特性 和网易云音乐播放器的功能大同小异,少了歌曲评论的功能,这个功 ...

  8. 第三方网易云音乐播放器ieaseMusic Mac中文版v1.3.4版

    ieasemusic mac中文版是目前mac平台上最好的网易云音乐播放器,与网易云音乐官方客户端最大的区别是,官方的就是「客户端」,完全按照其产品内容进行直接堆砌布局,而 ieaseMusic 是基 ...

  9. 树莓派-微信-网易云音乐播放器

    发现一个很好的个人微信框架ItChat,基于Python实现了网页版微信的大部分功能,正好手头上有个闲置的树莓派,就做了个简易的音乐播放器,源码及使用教程都放在Github上了,猛戳这里,欢迎大家st ...

  10. 静态博客网页中的网易云音乐播放器

    见我的博客 https://blog.wyue.site/2020/04/12/1/ 转载前请联系我,联系方式请见我博客 https://blog.wyue.site/ 一直想做个博客中的音乐播放器, ...

最新文章

  1. JS中点语法和方括号语法访问属性的区别
  2. 十、Go协程的调度,互斥锁,计数器和线程池
  3. “烘焙”ImageNet:自蒸馏下的知识整合
  4. DataTable转成List集合
  5. 基于多搜索引擎和深度学习技术的自动问答
  6. Mac 16进制编辑器Hex Friend
  7. top 命令按内存和 cpu 排序
  8. 远程服务器网刻系统,网刻-wu123119-ChinaUnix博客
  9. 带大家认识下Kvaser CAN总线协议
  10. c语言编程 模拟掷骰子,用C语言编写一个模拟掷骰子游戏
  11. UG二次开发GRIP显示图层
  12. 近邻成分分析(NCA)算法
  13. RabbitMQ极速入门
  14. stm32 CAN通信 TJA1040
  15. Mac恢复系统更新命令
  16. 阿里淘系优质开源项目推荐(下)
  17. java空指针异常解决_Java中的空指针异常是什么以及如何解决?
  18. CodeForces - 55D UVALive - 6528
  19. 最新界面很漂亮的在线工具箱,包含站长工具箱等等功能
  20. python输入数字输出月份英文_编写一个程序,输入月份号,输出该月的中文名和英文名。...

热门文章

  1. android ip地址扫描仪,通过IP地址添加网络扫描仪(适用于CC2软件Mac OS)
  2. java画图工具_java画图板工具
  3. 助教日志—请沈航13级同学将GIT地址和CNBLOG地址发到这篇博文的评论中
  4. 浏览器默认打开360搜索怎么办?
  5. 深度剖析E680G应用二.MPKG
  6. 转:多玩网总裁李学凌:在腾讯阴影下
  7. (七) 三维点云课程---ICP(Point-to-Point)
  8. word2016 图片去底灰_打印图片怎样去灰色底
  9. 地缘剧本杀 (十一):疗伤(原创小说连载,内含语音)
  10. python 西门子触摸屏通讯_PLC通过以太网与触摸屏通讯