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解析XML的几种常见方法的介绍
Apr 09 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
python批量复制图片到另一个文件夹
Sep 17 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
利用python生成照片墙的示例代码
Apr 09 Python
Python新手学习函数默认参数设置
Jun 03 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
python中如何打包用户自定义模块
Sep 23 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
php中序列化与反序列化详解
2017/02/13 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
js 调整select 位置的函数
2008/02/21 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
python实现udp传输图片功能
2020/03/20 Python
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
英语国培研修感言
2014/02/13 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
家长寄语大全
2014/04/02 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
入党转正申请书范文
2019/05/20 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL