V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yaphone
V2EX  ›  程序员

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

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

    #微信-网易云音乐播放器

    注意,该版本为电脑版(Windows/Linux/OSX),如果需要使用树莓派,请点击这里

    来源

    之前毕业的时候实在闲的无聊,正好手头上有个树莓派,就写了个简单的网易云音乐播放器,代码很简单,写的也很乱,功能更简单--只能搜索歌曲,然后播放之,放在了 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退出播放,此时播放列表变为空,用户如果要恢复播放,需要获取歌单更新播放列表。

    功能演示

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

    演示

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

    视频演示

    18 条回复    2017-03-22 17:46:56 +08:00
    ProjectSky
        1
    ProjectSky  
       2017-03-22 00:55:02 +08:00
    哈哈,看起来不错。

    不过我的情况是用屏幕坏掉的平板装上 Ubuntu Server's ,然后安装 Musicbox https://github.com/darknessomi/musicbox 登录 SSH 来播放音乐。
    DioV
        2
    DioV  
       2017-03-22 01:04:02 +08:00
    老实说 pi 还要接显示器的话总感觉不是很方便。
    我觉得用公共号可能更合适一点
    lydasia
        3
    lydasia  
       2017-03-22 01:30:45 +08:00
    为什么不直接用手机版网易云音乐,连你视频中的蓝牙音响?
    sxul07
        4
    sxul07  
       2017-03-22 05:49:47 +08:00
    @lydasia #3 可能是为了省电(逃
    sxul07
        5
    sxul07  
       2017-03-22 05:51:29 +08:00
    @DioV #2 可以用 VNC~
    XiaoFaye
        6
    XiaoFaye  
       2017-03-22 07:07:22 +08:00   ❤️ 1
    这本质就是一个 WebAPI 的调用, 用了 python+ubuntu+单片机就变得高大上了?
    cnnblike
        7
    cnnblike  
       2017-03-22 07:43:55 +08:00
    感觉不是什么很吊的东西啊
    GPU
        8
    GPU  
       2017-03-22 08:38:44 +08:00
    我觉得做成 homekit 控制更好吧 ,不过 homekit 好像不能控制切歌加爱心这些。
    yuantops
        9
    yuantops  
       2017-03-22 09:38:02 +08:00 via iPhone
    赞楼主。
    muziki
        10
    muziki  
       2017-03-22 09:47:56 +08:00 via iPhone
    @XiaoFaye 瞧你这激动的,从行文来看,楼主哪里“高大上”了
    yaphone
        11
    yaphone  
    OP
       2017-03-22 11:16:05 +08:00 via iPhone
    @ProjectSky 谢谢😉
    yaphone
        12
    yaphone  
    OP
       2017-03-22 11:17:07 +08:00 via iPhone
    @DioV 公众号功能确实多些,不过还要搞后台,这个用起来要简单些
    yaphone
        13
    yaphone  
    OP
       2017-03-22 11:24:40 +08:00 via iPhone
    @lydasia 我的场景是这样的,实验室是有一台电脑放音乐的,大家切歌就要跑到那里操作,比较麻烦,后来我就想做个后台,用微信来操作切歌这些,这样大家只要加了我的微信号,发相关指令就可以了,还是比较方便的。再后来,电脑换成了树莓派,我就又移植到了树莓派上。不过这里吐槽一下,树莓派的原生音质确实渣,我们后来买了个 DAC ,完美。😁
    yaphone
        14
    yaphone  
    OP
       2017-03-22 11:25:08 +08:00 via iPhone
    @sxul07 @lydasia 我的场景是这样的,实验室是有一台电脑放音乐的,大家切歌就要跑到那里操作,比较麻烦,后来我就想做个后台,用微信来操作切歌这些,这样大家只要加了我的微信号,发相关指令就可以了,还是比较方便的。再后来,电脑换成了树莓派,我就又移植到了树莓派上。不过这里吐槽一下,树莓派的原生音质确实渣,我们后来买了个 DAC ,完美。😄
    wh0ami
        15
    wh0ami  
       2017-03-22 11:27:28 +08:00
    感谢楼主,一个非常好玩的项目.
    zgzh
        16
    zgzh  
       2017-03-22 11:29:59 +08:00
    谢谢楼主,好玩~音乐播放 ing...
    yaphone
        17
    yaphone  
    OP
       2017-03-22 12:00:43 +08:00 via iPhone
    @XiaoFaye 嗯,本质应该是电子的相互作用哈,一点都不高大上🙃
    sxul07
        18
    sxul07  
       2017-03-22 17:46:56 +08:00
    @yaphone #14 嗯 是树莓派的 DAC 扩展板吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   946 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:30 · PVG 05:30 · LAX 14:30 · JFK 17:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.