Musicplayer

article/2025/11/5 18:31:53

Musicplayer

Python 音乐播放器

功能:

  首先可以实现本地音乐的播放,能够打开电脑端的文件,文件中进行多选,实现暂停、上一曲、下一曲的功能。在此基础上,完成随机播放列表和网络端下载的功能。

设计方法:

  本次开发使用Python语言,利用它的代码量少,现成库多,开发效率高的特点,同时觉得Qt设计的界面更加美观,而它恰好有PyQt5库,而PyQt5是基于Qt开发的,拥有大多数Qt的功能。
  首先我们需要一个音乐播放器的界面,可用来设计界面的python库有Tkinter,PyQt5等,这里选择了设计简单,学习成本较低的PyQt5,来设计UI,通过QtDesigner软件,可以很快的做出一个界面,大大减少了开发成本,提高了效率。
  音乐播放器的内部设计分为两个部分:一、本地音乐的打开与播放,二、网络音乐的搜索下载。本地音乐打开与播放时,首先选择文件夹,难题是如何使用鼠标选择文件中的某些歌曲。音乐的播放通过pygame模块进行控制。在学习过程中发现可以用爬虫实现网络音乐的下载,故学习如何使用爬虫技术进行爬取歌曲的id,然后调用外链进行下载。

用到的Python库:

  • random用到random.randint():

   random库是使用随机数的Python标准库,其中random.randint(a,b)随机生成一个(a,b)之间的整数,在本播放器中主要用于本地文件的随机播放。

  • threading:

  多线程库,实现多个函数同时运行和爬虫,

  • time用到time.sleep():

  数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。播放音乐时,需要用到此函数进行播放的延迟

  • os用到os.listdir() + os.path.basename():

  返回指定路径下的文件和文件夹列表。
os.path.basename(),返回path最后的文件名。若path以/或\结尾,那么就会返回空值。

  • pygame:

  Pygame是被设计用来写游戏的python模块集合,Pygame是在优秀的SDL库之上开发的功能性包。使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,Pygame是极度轻便的并且可以运行在几乎所有的平台和操作系统上。此次程序设计中主要用来对音乐的播放暂停等控制。

  • requests:

  在使用Python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装,其优势:Python爬虫时,更建议用requests库。因为requests比urllib更为便捷,requests可以直接构造get,post请求并发起,而urllib.request只能先构造get,post请求,再发起。

  • PySide2:

  PySide2是基于Qt的官方Python库,提供了对Qt 5.122+框架的访问,可用于Python图形化界面开发,Qt是一种强大的图形用户界面构造工具。此次课程设计主要使用Qt进行相关界面的完善。

  • cloudmusic:

  一个实现网易云爬虫的库,可实现音乐id、音乐名字、评论、歌单的爬取,并返回相关信息,自带下载外链(.m4a格式)。

播放界面:

播放

下载界面:

下载

程序设计流程图:

流程

函数关系图:

关系图

尚未解决的问题:

bug

GitHub
Gitee


http://chatgpt.dhexx.cn/article/2icGaubg.shtml

相关文章

MusicBox(音乐播放器)

这两天做了一个小型的音乐播放器,基本功能都已实现,同时也让我对CSliderCtrl,MCI_OPEN_PARMS以及控件之间的消息映射,数据转换等有了更深入的理解,下面是自己编程的详细过程: 1 首先将控件的位置都摆好&a…

musicbox使用方法_使用Pi MusicBox收听流音乐

musicbox使用方法 在用Raspberry Pi 控制圣诞树灯的项目完成之后,下一个项目是什么? 我最终开始尝试使用Pi Musicbox进行修补,这是Mopidy的Raspbian的一种版本 ,它允许用户在“无头”的Raspberry Pi上播放各种流媒体服务&#xff…

推荐一个高大上的网易云音乐命令行播放工具:musicbox

网易云音乐上有很多适合程序猿的歌单,但是今天文章介绍的不是这些适合程序员工作时听的歌,而是一个用Python开发的开源播放器,专门适用于网易云音乐的播放。这个播放器的名称为MusicBox, 特色是用命令行版本执行音乐的播放。 github地址&…

移动开发技术(三)MusicBox

实验要求 使用广播机制,编写音乐盒代码,添加音乐播放的播放、暂停、停止、上一首和下一首控制 实验步骤 一、布局设置 添加一个LinearLayout,选择垂直分布。在里面添加两个LinearLayout: ①music_show:用于展示图片…

Gap Statistic算法详解

在Kmean算法确定K值的问题里,可以使用手肘法,也可以用Gap statistic 算法。手肘法的缺点是不够自动化,而Gap不再需要“手肘法”式的肉眼判断,而只需要找出使Gap Statistic最大的K值即可。因此,Gap和适用于批量化作业。…

IDEA 统计插件Statistic:查看你的代码量

最近接触了一款IDEA统计代码量的插件Statistic,简介一下Statistic的安装。 一、插件下载安装 File->Settings->Plugins,输入Statistic,点击install,安装完后选择重启idea。 二、运行使用 重启完后,点击refesh即可看到代码量…

idea中安装统计代码statistic插件

百度一圈都是直接在idea中安装statistic插件,就不再重复 1.从官网下载:http://plugins.jetbrains.com/plugin/4509-statistic/versions 插件包 到本地 2.选择从本地安装 3. 4.重启idea 5.工具栏

探索 t Statistic的稳健性

探索 t Statistic的稳健性 探索t-statistic 的稳健性 假设有2组数据,x1,…,xm; y1,…,yn。 t-test的假设为两组数据的平均值无差异 即: 令X和Sx为为x数组的平均值和标准差,Y和Sy为y数组的平均值和标准差;则H0的判别式为 在H0…

AS 使用Statistic插件统计代码行数

1.下载插件及安装 点击File → Setting→ Plugins,搜索Statistic插件,点击install按钮安装插件。 2.插件使用 安装成功后重启AS,在View→Tool Windows→Statistic,选择后AS底部会显示Statistic按钮, 点击Refresh按钮…

IDEA 统计Statistic插件下载地址

IDEA 统计Statistic插件安装地址 https://plugins.jetbrains.com/plugin/4509-statistic/versions

idea-统计代码行数Statistic

idea统计代码行数可以用到插件:Statistic。 步骤: File→Settings进入Plugins点击Marketplace搜索Statistic 安装蓝框标出的插件 重启idea后就可以看到效果了(图是拿的别人的,基本就是这效果)如果没有下边的stat…

IDEA代码统计插件Statistic-统计项目代码文件数及代码行数

今天被问到项目的代码量及代码行数,由于项目代码量还挺多,第一时间想到idea有没有插件可以统计,经过搜索,还真有,当然也可以自己写代码实现。 以下介绍Statistic的安装及使用。 1、在IDEA左上角点击File->Setting…

idea中代码统计工具Statistic的配置与使用

idea中代码统计工具Statistic的配置与使用 有的同学在idea中下载了statistic的插件但是就是没看到这个插件的标志,这是因为插件对应了不同的版本,需要下载对应的版本:https://plugins.jetbrains.com/plugin/4509-statistic/versions 下载完成之后File—…

Intellij idea使用Statistic统计代码行数的方法

一、安装Statistic 1、打开IDEA 2、打开settings进行设置 3、选择plugins,搜索Statistic并安装 4、下载完成之后,重启IDEA,此时Statistic就安装好了 二、使用Statistic 1、安装好Statistic之后我们可以通过以下步骤 将Statistic插件的控制台展…

IDEA - 如何安装Statistic代码统计插件?

插件地址 插件下载 插件选择 (1)如果IDEA的版本比较新,IDEA会自动选择Statistic对应的版本; (2)如果IDEA的版本比较老,请使用Statistic的3.8.1版本。 如何安装 1. 在线搜索并安装 2. 离线…

GIT统计代码量及IDEA Statistic统计解析

GIT统计代码量 Git统计个人提交代码行数 git log --format%aN | sort -u | while read name; do echo -en "$name\t"; git log --author"$name" --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines:…

idea查看代码行数Statistic

软著需要知道代码行数,安装Statistic插件即可。 安装后,重启,点击左下角“refresh”即可查看各类文件行数 可以设置统计代码的文件格式

IDEA统计代码量Statistic插件

IDEA统计代码量Statistic插件 Statistic插件安装步骤1、步骤(文字)2、步骤(图) 结尾 Statistic插件 Statistic插件,IDEA中用来统计代码量的插件,话不多说上步骤。安装步骤 1、步骤(文字&#…

Android Studio代码统计插件Statistic

一、打开 AS -> File -> Settings -> Plugins,搜索statistic,在线安装即可 二、安装完成后,在AS底部找到Statistic 三、点击Statistic,打开界面,如果没有数据,点击Refresh按钮刷新

统计项目代码行数 intelliJ idea statistic 插件

任务需求是让你统计一下,现在涉及到的每个模块的代码的行数,这个任务怎么实现呢?哎,这idea竟然有个现成的插件,直接拿来用,就能实现对源码的简单分析和统计。直接在idea的插件仓库里面搜索“statistic”&am…