用微信控制电脑/树莓派播放网易云音乐 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yaphone
V2EX    分享创造

用微信控制电脑/树莓派播放网易云音乐

  •  
  •   yaphone 2017-03-21 23:25:28 +08:00 3580 次点击
    这是一个创建于 3130 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    安装

    项目源码都都在我的 Github上,大家先下载下来,麻烦大家顺手点个 star 哟~,谢谢。 我们以 Ubuntu 环境为例,安装其实很简单,都是一些 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

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

    功能

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

    • H: 帮助信息
    • L: 登陆网易云音乐
    • U: 用户歌单
    • M: 播放列表
    • N: 下一曲
    • R: 正在播放
    • S: 歌曲搜索
    • T: 热门单曲
    • G :推荐歌单
    • 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退出播放,此时播放列表变为空,用户如果要恢复播放,需要获取歌单更新播放列表。

    功能演示

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

    演示

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

    视频演示

    7 条回复    2017-03-22 22:15:32 +08:00
    appppap
        1
    appppap  
       2017-03-21 23:38:08 +08:00 via iPhone
    二维码好大呀
    awolfly9
        2
    awolfly9  
       2017-03-22 08:58:25 +08:00
    现在微信真的可以做很多事~
    DT27
        3
    DT27  
       2017-03-22 09:41:19 +08:00
    仍然坚持不用微信 ing 。
    lauix
        4
    lauix  
       2017-03-22 10:27:07 +08:00
    功能还少,我做了个 可以控制家庭智能家居,可以实现 温度 火警 MP3 闹钟 灯开关,支持 web 端 和 微信端 ,微信是通过 微信企业号实现的,微信企业号 更好的去控制权限,限制某些人 用哪些功能。
    findex
        5
    findex  
       2017-03-22 11:27:10 +08:00 via iPhone
    尽量别用微信了吧 没意义的
    lanxyou
        6
    lanxyou  
       2017-03-22 21:28:00 +08:00
    没必要用个人微信号 去申请个测试用公众号+ngrok 就可以搞定了
    yangxuan8282
        7
    yangxuan8282  
       2017-03-22 22:15:32 +08:00
    试用过,感觉操作不太方便,查询歌曲返回的列表有点长
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5573 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 06:32 PVG 14:32 LAX 23:32 JFK 02:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86