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类型强制转换long to int的代码
Feb 10 Python
Python字符串中查找子串小技巧
Apr 10 Python
python版本的读写锁操作方法
Apr 25 Python
解决python爬虫中有中文的url问题
May 11 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
python实现事件驱动
Nov 21 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
python射线法判断一个点在图形区域内外
Jun 28 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
python打印文件的前几行或最后几行教程
Feb 13 Python
python代码xml转txt实例
Mar 10 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 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
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
2017/10/18 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
Python如何定义有默认参数的函数
2020/08/10 Python
大学生暑期实践感言
2014/02/26 职场文书
质量管理标语
2014/06/12 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
初婚初育证明范本
2014/11/24 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
实习单位鉴定意见
2015/06/04 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang