微信網(wǎng)易云音樂(lè)播放器

來(lái)源

之前畢業(yè)的時(shí)候?qū)嵲陂e的無(wú)聊,正好手頭上有個(gè)樹莓派,就寫了個(gè)簡(jiǎn)單的網(wǎng)易云音樂(lè)播放器,代碼很簡(jiǎn)單,寫的也很亂,功能更簡(jiǎn)單--只能搜索歌曲,然后播放之,放在了github上,沒(méi)想到竟然收到三十多顆星,實(shí)在慚愧,然后放年假,就想著把功能稍微完善一下,于是就有了WxNeteaseMusic,其實(shí)做的工作也不多,基于itchat網(wǎng)易云音樂(lè)的python API,廢話不多說(shuō),容我簡(jiǎn)單介紹一下吧。

安裝

項(xiàng)目源碼都都在我的Github上,注意一共有兩個(gè)版本,電腦版和樹莓派版,電腦版,即Windows/Linux/OSX自用的是Python的mp3play包,由于樹莓派的Raspbian不支持mp3play,所以只能使用自帶的omxplayer。

電腦版下載

樹莓派版下載

大家先下載下來(lái),麻煩順手點(diǎn)個(gè)Star呀~,你們的Star才是我堅(jiān)持做下去的動(dòng)力,謝謝哦。

下面我們以樹莓派環(huán)境為例,安裝其實(shí)很簡(jiǎn)單,都是一些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 (如果是樹莓派平臺(tái),可以不用安裝此包)

上面這些依賴應(yīng)該夠了,如果提示缺少包的話,大家根據(jù)提示自行安裝就可以了,然后切換到項(xiàng)目目錄,執(zhí)行 python run.py ,用微信掃碼登陸,Bingo, just enjoy it !

功能

嗯,先來(lái)看看都有什么功能。

  • H: 幫助信息
  • L: 登陸網(wǎng)易云音樂(lè)
  • U: 用戶歌單
  • M: 播放列表
  • N: 下一曲
  • R: 正在播放
  • S: 歌曲搜索
  • T: 熱門單曲
  • G:推薦歌單(樹莓派版由于在使用session模塊時(shí)有問(wèn)題,因此暫時(shí)不提供該功能)
  • E: 退出

這就是WxNeteaseMusic V0.1版的功能菜單啦,后面如果大家有其它的需求或者使用過(guò)程中有什么問(wèn)題,都可以提出來(lái),github上提Issue或者在下面評(píng)論都可以,后面我會(huì)盡量完善。

使用

微信掃碼登陸后,向登陸的微信號(hào)發(fā)送命令,就可以使用了。我的微信號(hào)是可以自己向自己發(fā)送信息的,使用起來(lái)比較方便,但是有些微信號(hào)好像不能自己給自己發(fā)信息,這種情況下,就需要通過(guò)另一個(gè)微信號(hào)向掃碼登陸的微信號(hào)發(fā)命令。這里需要注意,掃碼的時(shí)候itchat是以網(wǎng)頁(yè)版/電腦版的方式登陸微信的,如果掃碼的手機(jī)退出微信客戶端,那么WxNeteaseMusic自然也不能正常使用。不過(guò)也有手機(jī)退出微信但是網(wǎng)頁(yè)版/電腦版不退出的辦法,大家自行百度一下。
如果大家看一下代碼就會(huì)發(fā)現(xiàn),WxNeteaseMusic是以空格為分隔符來(lái)切割命令的,所以對(duì)于有兩個(gè)或者三個(gè)參數(shù)的命令時(shí),需要以空格為分隔符,下面我具體來(lái)介紹一下。

獲取幫助信息

發(fā)送 H。

登陸網(wǎng)易云音樂(lè)

命令格式為 L 用戶名 密碼,注意,L用戶名、密碼之間以空格分開,這里的用戶名和密碼是你的網(wǎng)易云音樂(lè)的用戶名和密碼,郵箱格式。之后客戶端會(huì)收到一條消息,登陸成功或者登陸失敗,如果登陸成功,WxNeteaseMusic會(huì)保存你的UserId,所以并不需要每次使用都要登陸賬號(hào),除非要換其它賬號(hào),UserId在網(wǎng)易云音樂(lè)中是唯一的,用戶的歌單、收藏列表等信息都是通過(guò)UserId來(lái)獲取的。登陸成功后,就可以使用下面的功能了,默認(rèn)是我的UserId哦,別忘記登錄呀~

獲取用戶歌單

登陸成功后,播放列表默認(rèn)為網(wǎng)易云音樂(lè)的熱歌榜,些時(shí)發(fā)送U可以獲取用戶的歌單,就是你在網(wǎng)易云音樂(lè)創(chuàng)建的歌單,獲取歌單后,通過(guò)命令U 序號(hào)來(lái)選擇對(duì)應(yīng)的歌單,注意U序號(hào)之間有空格,此時(shí)播放列表是你歌單里的歌曲。

播放列表

使用過(guò)程中,發(fā)送M可以隨時(shí)查看當(dāng)時(shí)的播放列表。

下一曲

發(fā)送命令N來(lái)播放下一曲,N 序號(hào)播放列表中對(duì)應(yīng)的歌曲,當(dāng)前列表通過(guò)命令M獲取。這里需要注意,通過(guò)N 序號(hào)選擇列表中的歌曲時(shí),播放是臨時(shí)的,并不保存在播放列表中,此時(shí)再發(fā)R命令時(shí)顯示的播放信息是錯(cuò)誤的。

正在播放

發(fā)送命令R可獲取正在播放的歌曲詳情。

歌曲搜索

發(fā)送命令S 歌曲名可進(jìn)行歌曲搜索,成功后會(huì)返回搜索結(jié)果列表,再發(fā)送S 歌曲名 序號(hào)來(lái)播放對(duì)應(yīng)序號(hào)的歌曲,注意,兩次命令的歌曲名必須完全一致。

熱門單曲榜

發(fā)送T獲取網(wǎng)易云音樂(lè)的熱門單曲榜,并更新播放列表。

推薦歌單

發(fā)送G獲取網(wǎng)易云音樂(lè)的熱門單曲榜,并更新播放列表。

退出

發(fā)送E退出播放,此時(shí)播放列表變?yōu)榭?,用戶如果要恢?fù)播放,需要獲取歌單更新播放列表。

功能演示

好吧好吧,說(shuō)了這么多,還是讓我來(lái)實(shí)際來(lái)演示一下吧。注意,演示中的登陸密碼我已經(jīng)修改了,你們就不要試了哈。

演示

如果還不清楚的話,我還拍了個(gè)小視頻,放在了優(yōu)酷上,請(qǐng)點(diǎn)擊這里觀看。

其它

當(dāng)前在樹莓派上使用的播放器為raspbian自帶的omxplayer,因?yàn)閜ython的mp3play包不能在樹莓派上使用,后來(lái)對(duì)比了mpg123和omxplayer發(fā)現(xiàn),omxplayer音質(zhì)還要相對(duì)好一些。另外,在登陸網(wǎng)易云音樂(lè)的時(shí)候需要進(jìn)行一個(gè)加密算法,由于樹莓派的計(jì)算能力有限,所以需要多等待一會(huì)。

BUGS

1.網(wǎng)易云音樂(lè)中部分音樂(lè)鏈接已失效,所以可能導(dǎo)致播放失敗的情況,這種情況下,因?yàn)闃漭砂媸褂玫氖莖mxplayer,而非其它平臺(tái)下的WxNeteaseMusic使用的mp3play模塊,omxplayer并不能感知到播放失敗,還會(huì)一直等待當(dāng)前播放失敗的歌曲的時(shí)長(zhǎng)才會(huì)播放下一首,或者其它命令觸發(fā)切換動(dòng)作,如(N)等,建議使用網(wǎng)易音樂(lè)的客戶端把播放失敗的這首歌直接刪除掉,這樣在樹莓派上播放時(shí)就不會(huì)卡住了。而電腦版使用的是python的mp3play包,播放失敗時(shí)會(huì)自動(dòng)跳過(guò)。

2.通過(guò)N 序號(hào)選擇列表中的歌曲時(shí),播放是臨時(shí)的,并不保存在播放列表中,此時(shí)再發(fā)R命令時(shí)顯示的播放信息是錯(cuò)誤的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文你可以把它看做是音樂(lè)APP產(chǎn)品體驗(yàn)報(bào)告也可以看做是產(chǎn)品分析,甚至可以把它看做競(jìng)品分析。筆者不是以平常的體驗(yàn)報(bào)告...
    啤酒請(qǐng)加冰閱讀 12,088評(píng)論 13 44
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,228評(píng)論 4 61
  • 無(wú)論對(duì)象是誰(shuí),好的感情都是靠相處出來(lái)的。這說(shuō)明如何跟人相處真的很重要。 可是發(fā)生沖突,免不得有想發(fā)脾氣的時(shí)候,為了...
    Louise718閱讀 287評(píng)論 0 2
  • 辭職了。當(dāng)天填寫申請(qǐng)表當(dāng)天走人。大家都知道我一定會(huì)走,但沒(méi)想到如此速度。 嗯,愛(ài)不下去就不要愛(ài)了。無(wú)論對(duì)人對(duì)事。 ...
    蕭陌閱讀 280評(píng)論 0 3

友情鏈接更多精彩內(nèi)容