PyQt5技术分享_制作一个个性的音乐播放器

原文链接(本人写的啊,不算抄袭😎):PyQt5技术分享_制作一个个性的音乐播放器

前前言:额,正如你所见,这个项目在鸽了几个月后终于宣布停更了。原因呢,自该项目发布以来,反响平平,更新的动力都没了,其实更主要的原因在于我发现我现在学习的方向渐渐偏离了专业的轨道,以后的项目会逐渐往硬件方面靠。奉劝各位,要是你还在学习pyqt5的话,学到为止,做小GUI,tk足以,做大项目,pyqt5真的不是什么好选择。

前言:距上一个项目进程的实现:Dock栏的实现 已经过去大概两周了,在这两周内终于又完成了一个组件:音乐播放器(在此,有人会问:啊?你一个阅读器要音乐播放功能干嘛?答:为满足那些阅读时喜欢听歌的人的需求,比如,我),“才”花两周也是我加班加点,翘了无数个晚自习,努力的成果,在这里我就不得不吐槽一下我们学校的早晚自习制度(阿巴阿巴````)话不多说,来吧,展示!

1.界面展示

20201113132506341

为了融合项目需求,播放器就设定为小型的,但麻雀虽小,五脏俱全,播放器应有的功能一个没落,额,,除了音效调节外,不过这也不是必须的,是吧(极力掩饰自己能力不足中···),在界面实现时遇到的小困难:

QSlider无法实现点击跳转到指定位置:PyQt5之实现QSlider进度条的点哪指哪

QGraphicsView之实现唱片的转动:PyQt5之实现网易云播放唱片的动作(图片的旋转)

2.一键导入歌单

播放器支持网易云歌单导入和本地歌单导入

20201113170049484

网络导入歌单

  1. 从pc客户端或手机客户端歌单中获取到歌单的分享链接(可以是自己的歌单,也可以是大厅中任意的一个歌单,可一次性输入多个歌单链接,可以不用分隔符)

在这里插入图片描述

2.输入完链接后,耐心等待一会,后台会根据链接内容爬取歌单所有的歌曲信息,包括ID,歌名,歌手名,歌手ID,专辑名,专辑ID,爬取的歌曲信息会以json数据导入到./Music/json目录下
3.爬取完数据后就会根据爬取到的内容导入到播放器歌单中了

本地导入歌单

其实就是提供从之前爬取到的歌单json数据中直接导入到播放器歌单中的入口,这里的json数据一定是之前爬取到的文件,不合规范的json数据是无法导入成功的

歌曲搜索

歌单内容太多,找不到想要听的歌曲?没关系,歌单支持歌名,歌手,专辑等内容搜索,还支持模糊搜索,只需输入一两个字,歌曲即可为你呈现

播放演示

在这里插入图片描述

另歌手和专辑我都设为了超链接形式,点击即可跳转到对应的歌手或专辑界面。播放器还设置了记忆功能,程序执行时会自动导入上次的歌单

代码入口:PyQt5音乐播放器