如何使用 pyqt 实现 Groove 音乐播放器


前言

Win10 自带了一款很好用的音乐播放器 —— Groove 音乐,但是只能支持本地音乐的播放。2020年3月底到4月底,自己一直在学习 PyQt5,然后从 2020年5月开始,着手使用 PyQt5 编写增强版的 Groove 音乐。因为平时有课,所以大部分代码是在寒暑假编写的。

刚开始代码写的很捞,反反复复重构过多次,不过现在整体看来应该没那么乱了,除了一部分很久远的代码,实在不敢去碰。总结下来,项目用到了以下技术:

  • PyQt5
  • 爬虫
  • 数据库
  • 图像处理

其中数据库还是去年年底学了 Java 技术栈之后,于今年寒假添加进项目的。以前用的是 json 文件来保存歌曲数据,说多了都是泪。之前由于种种原因(主要是懒),代码一直没有编译成 exe 发布出来,今天终于打包发布了 v1.0.0 大版本。在虚拟环境里面打包之后发现软件有 297MB,所以又删了一些无用的 dll 和 pyd 文件,最终瘦身为 197MB,在 3 台 Win11 电脑上测试良好,欢迎大家去我的 GitHub仓库:https://github.com/zhiyiYo/Groove 下载使用,有任何问题可以提 issue,我会在第一时间回复。

功能

目前播放器实现了以下功能:

  • 播放本地音乐

    如何使用 pyqt 实现 Groove 音乐播放器

  • 搜索、播放和下载在线音乐

    如何使用 pyqt 实现 Groove 音乐播放器

  • 创建和管理个人播放列表

    如何使用 pyqt 实现 Groove 音乐播放器

  • 查看和编辑歌曲信息

    如何使用 pyqt 实现 Groove 音乐播放器

  • 播放和下载在线 MV(由于录制动图体积太大,所以这里只给出图片,顺便感慨一波遥妹真甜😊)

    如何使用 pyqt 实现 Groove 音乐播放器

注意事项

  • 在使用软件之前必须先安装好 LAV Filters,因为 Qt 要用它来解码音乐;
  • 开启亚克力背景后窗口拖动可能会卡顿,这是 Win10 本身的 bug,Win11 没有这个问题,可以在设置界面关闭亚克力背景的选项,这样拖动的时候就不会卡顿了
  • 目前软件支持的音频格式有以下几种:
    • mp3
    • flac
    • mp4/m4a

后记

如果大家喜欢这个项目的话,欢迎 star 、fork 和 follow,再次给出项目地址 https://github.com/zhiyiYo/Groove ,防止迷路,以上~~

发表评论

相关文章