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中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
python绘制简单折线图代码示例
Dec 19 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
numpy数组之存取文件的实现示例
May 24 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
一行python实现树形结构的方法
Aug 09 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
keras实现多种分类网络的方式
Jun 11 Python
使用Python-OpenCV消除图像中孤立的小区域操作
Jul 05 Python
Python实现文件压缩和解压的示例代码
Aug 12 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
phpMyAdmin 安装及问题总结
2009/05/28 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
python实现维吉尼亚加密法
2019/03/20 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
高级工程师岗位职责
2013/12/15 职场文书
八年级音乐教学反思
2014/01/09 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
检察院起诉意见书
2015/05/20 职场文书
男人帮观后感
2015/06/18 职场文书
Python打包为exe详细教程
2021/05/18 Python
vue2实现provide inject传递响应式
2021/05/21 Vue.js
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS