Python趣味挑战之实现简易版音乐播放器


Posted in Python onMay 28, 2021

一、前言

今天我们将用Python来创建一个属于自己的音乐播放器。为此,我们将使用三个软件包:

  • Tkinter:用于UI
  • Pygame:播放音乐
  • os:用于访问系统文件

在这里我们将看到创建音乐播放器的每个步骤,我们将代码分为四个部分。

二、实现过程

在第一部分中,我们将导入所有软件包。其次,我们将创建UI。第三,我们从系统中导入所有音乐并在APP应用程序中进行展示。第四,设计一个有助于播放特定音乐的功能。

在导入所有这三个软件包之前,我们必须在系统中安装这些软件包。

pip install pygame
pip install tkinter

os已经安装好了,所以我们只需要导入它即可:

from tkinter import *
from pygame import mixer
import os

现在我们将为应用程序创建UI。

root = Tk()
root.title(“music player”)
Button(root,text= “play”, command = playsong).grid(row =1 , column = 0)
Button(root,text= “pause”, command = pausesong).grid(row =1 , column = 1)
Button(root,text= “stop”, command = stopsong).grid(row =1 , column = 2)
Button(root,text= “resume”, command = resumesong).grid(row =1 , column = 3)
mainloop()

在这里我们创建了4个按钮并传递命令,在下一步中,我们将为每个函数创建一个函数,以帮助播放、停止、恢复和暂停播放特定歌曲。我们还将会把所有歌曲存储在我们的播放列表中,因此在步骤三中,我们将创建一个变量名称作为播放列表,并从我们的系统中存储和显示歌曲列表。

mixer.init()
playlist = Listbox(root,selectmode=SINGLE,bg = “green”)
playlist.grid(columnspan =5)
os.chdir(‘/Users/rajatupadhyaya/Documents/song')
song = os.listdir()
for s in song:
playlist.insert(END,s)

mixer.init()将检查系统中所有当前的歌曲。在下一行中,我们创建了一个列表框,该列表框将显示在我们的UI中。os在下一行没有帮助访问特定目录,因此我们给出了路径并将所有音乐存储在歌曲变量中,并运行了一个将所有歌曲循环存储在播放列表中。现在,我们将在最后一步定义功能并创建播放列表。

def playsong():
currentsong = playlist.get(ACTIVE)
print(currentsong)
mixer.music.load(currentsong)
mixer.music.play()
def pausesong():
mixer.music.pause()
def stopsong():
mixer.music.stop()
def resumesong():
mixer.music.unpause()

playsong函数将检查当前选择的歌曲并加载歌曲后播放。

三、完整代码

Python趣味挑战之实现简易版音乐播放器

四、最终的音乐播放器APP如下

Python趣味挑战之实现简易版音乐播放器

到此这篇关于Python趣味挑战之实现简易版音乐播放器的文章就介绍到这了,更多相关Python音乐播放器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python读取键盘输入的2种方法
Jun 16 Python
Django中使用locals()函数的技巧
Jul 16 Python
Python构造自定义方法来美化字典结构输出的示例
Jun 16 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
Python中的TCP socket写法示例
May 11 Python
用Cython加速Python到“起飞”(推荐)
Aug 01 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
python中如何写类
Jun 29 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
Python datetime模块的使用示例
Feb 02 Python
python上下文管理器异常问题解决方法
Feb 07 Python
新手必备Python开发环境搭建教程
Keras多线程机制与flask多线程冲突的解决方案
May 28 #Python
pytorch 6 batch_train 批训练操作
May 28 #Python
pytorch 如何使用batch训练lstm网络
May 28 #Python
使用Pytorch训练two-head网络的操作
May 28 #Python
使用Python的开发框架Brownie部署以太坊智能合约
使用Pytorch实现two-head(多输出)模型的操作
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
php银联网页支付实现方法
2015/03/04 PHP
Grid得到选择行数据的方法总结
2011/01/17 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
Vuex 入门教程
2018/01/10 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
Pytorch之保存读取模型实例
2019/12/30 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
结构工程个人自荐信范文
2013/11/30 职场文书
副总经理任命书
2014/06/05 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
环保公益策划方案
2014/08/15 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
申请吧主发表的感言
2015/08/03 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL