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将unicode转为str的方法
Jun 21 Python
Python实现PS图像调整黑白效果示例
Jan 25 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
Django框架实现分页显示内容的方法详解
May 10 Python
python 用所有标点符号分隔句子的示例
Jul 15 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
解决python虚拟环境切换无效的问题
Apr 30 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Django 用户认证Auth组件的使用
Nov 30 Python
如何在Python中妥善使用进度条详解
Apr 05 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
javascript连续赋值问题
2015/07/08 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python中的一些陷阱与技巧小结
2015/07/10 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
Python八皇后问题解答过程详解
2019/07/29 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
python中最小二乘法详细讲解
2021/02/19 Python
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
中国梦口号
2014/06/13 职场文书
解除同居协议书
2015/01/29 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫