版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/hhladminhhl/article/details/118915410
昨天晚上坐在电脑面前,想着一边撸代码,一边听音乐。搜了搜自己想听的歌,奈何好多歌曲都提示需要版权,无法播放!
没办法,想听歌还是得靠自己解决!今天就一起用python自制一款炫酷的音乐播放器吧~
首先一起来看看最终实现的音乐播放器效果:
下面,我们开始介绍这个音乐播放器的制作过程。
一、核心功能设计
总体来说,我们首先需要设计UI界面,对播放器的画面布局进行排版设计;其次我们的这款音乐播放器的主要功能包括根据关键字搜索自动爬取音乐,获取音乐列表,能进行音乐播放。
当然还少不了一些附加功能,例如播放方式列表循环、单曲循环、随机播放,当前上一首下一首播放,播放暂停开始,音量增加减少,播放历史查看等。
拆解需求,大致可以整理出核心功能如下:
UI设计排版布局
头部主要包括关键字搜索和音乐来源选择,以及窗体最小化,最大化,关闭功能
中间主体包含左右两侧,左侧用来显示播放音乐封面图,右侧用来进行音乐列表显示
底部主要来显示当前播放音乐,播放进度条,音量控制,上一首/下一首,暂停/开始,播放方式等附加功能
关键字音乐列表爬虫
通过输入的搜索关键字和选择的音乐来源,自动爬取对应的音乐数据
将爬取获取的音乐名进行列表显示,显示在中间主体搜索页
音乐播放
音乐列表中我们需要双击某一首歌,对爬取的歌曲封面图和歌曲进行下载
下载成功,对音乐文件根据播放进度条进行播放
附加功能
播放音乐时,我们还需要有播放暂停和启动功能
音量控制提高或者降低
当前播放歌曲上一首、下一首
音乐列表播放方式,列表循环、单曲循环、随机播放
二、实现步骤
1. UI设计排版布局
基于功能点,我们首先考虑进行简单的UI布局设计,这里我们使用的是pyqt5。核心设计代码如下:
实现效果如下:
2. 关键字音乐列表爬虫
我们可以根据输入的关键字和音乐来源进行音乐爬取。这里我们需要通过多线程,将歌曲、歌手、歌曲url地址全都获取。核心代码如下:
爬取代码写好了,我们还需要将爬取的这些音乐数据列表显示到画面中搜索页面中。代码如下:
效果如下:
3. 音乐播放
关键字搜索音乐列表完成之后,接下来我们需要实现音乐播放功能。首先需要从爬取的url下载待播放的歌曲,这里还是通过多线程进行。核心代码如下:
音乐播放模块:
至此,我们的音乐播放器已经可以正常播放音乐了。
4. 附加功能
主要功能已经完成了,下面我们还可以添加一些附加功能,例如播放方式列表循环、单曲循环、随机播放,当前上一首下一首播放,播放暂停开始,音量增加减少等等。
播放模式:
(1)随机播放:
(2) 上一首、下一首:
(3)单曲循环:
(4) 播放模式选择:
播放暂停/开始:
音量提高/降低:
至此,这款音乐播放器就基本完成啦~ 一起来看看效果吧!