如何利用Python编写本地音乐播放器
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要为大家展示了"如何利用Python编写本地音乐播放器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何利用Python编写本地音乐播放器"这篇
千家信息网最后更新 2025年02月01日如何利用Python编写本地音乐播放器
这篇文章主要为大家展示了"如何利用Python编写本地音乐播放器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何利用Python编写本地音乐播放器"这篇文章吧。
先上完整代码:
修改文件夹路径即可运行
# -*- encoding: utf-8 -*-'''@Description: :@Date :2022/03/24 17:43:26@Author :骤&雨@version :1.0'''#导入相关库文件import osimport tkinterimport tkinter.filedialogimport randomimport timeimport threadingimport pygamefrom asyncio.base_tasks import _task_print_stackfrom cProfile import labelfrom email import headerfrom functools import total_orderingfrom importlib import find_loaderfrom logging import rootfrom mimetypes import initfrom re import Xfrom turtle import widthfrom matplotlib.pyplot import pausefrom scipy import rand#设置文件夹路径folder = r'C:\Users\Administrator\Desktop\Python\Python Code\TiquMusicFromVedio'"""@description : 音乐播放,默认播放文件夹内的所有mp3文件---------@param :-------@Returns :-------"""def play(): global folder music =[folder+'\\'+music for music in os.listdir(folder)\ if music.endswith(('.mp3','.wav','.ogg'))] total = len(music) #初始化混音器设备 pygame.mixer.init() while playing: if not pygame.mixer.music.get_busy(): #随机播放一首歌曲 nextMusic = random.choice(music) pygame.mixer.music.load(nextMusic.encode()) #播放一次 pygame.mixer.music.play(1) musicName.set('playing.......'+nextMusic) else: time.sleep(0.3)root = tkinter.Tk()root.title('音乐播放器')root.geometry('700x80+400+300')root.resizable(False,False)#关闭程序时执行的代码def closeWindow(): global playing playing = False try: pygame.mixer.music.stop() pygame.mixer.quit() except: pass root.destroy()root.protocol('WM_DELETE_WINDOW',closeWindow)pause_resume=tkinter.StringVar(root,value = 'NotSet')playing = False#播放按钮def buttonPlayClick(): global folder if not folder: folder = tkinter.filedialog.askdirectory() if not folder: return global playing playing = True #创建一个线程来播放音乐 t = threading.Thread(target=play) t.start() #根据情况禁用或启用相应按钮 buttonPlay['state'] = 'disabled' buttonStop['state'] = 'normal' buttonPause['state'] = 'normal' buttonNext['state'] = 'normal' pause_resume.set('Pause')buttonPlay = tkinter.Button(root,text = 'Play',command=buttonPlayClick)buttonPlay.place(x=20,y=10,width=50,height=20)#终止按钮def buttonStopClick(): global playing playing = False pygame.mixer.music.stop() musicName.set('暂时没有播放音乐') buttonPlay['state'] = 'normal' buttonStop['state'] = 'disabled' buttonPause['state'] = 'disabled'buttonStop = tkinter.Button(root,text='Stop',command=buttonStopClick)buttonStop.place(x=80,y=10,width=50,height=20)buttonStop['state']='disabled'#暂停与恢复 复用按钮def buttonPauseClick(): global playing if pause_resume.get()=='Pause': #playing = False pygame.mixer.music.pause() pause_resume.set('Resume') elif pause_resume.get()=='Resume': #playing = True pygame.mixer.music.unpause() pause_resume.set('Pause')buttonPause = tkinter.Button(root,textvariable=pause_resume,command=buttonPauseClick)buttonPause.place(x=140,y=10,width=50,height=20)buttonPause['state']='disabled'#下一首def buttonNextClick(): global playing playing = False pygame.mixer.music.stop() pygame.mixer.quit() buttonPlayClick()buttonNext = tkinter.Button(root,text='Next',command=buttonNextClick)buttonNext.place(x=200,y=10,width=50,height=20)buttonNext['state']='disabled'musicName = tkinter.StringVar(root,value='暂时没有播放音乐!')labelName = tkinter.Label(root,textvariable=musicName)labelName.place(x=0,y=40,width=700,height=20)#启动消息循环root.mainloop()
运行结果如下:
以上是"如何利用Python编写本地音乐播放器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
音乐
播放器
按钮
文件
内容
文件夹
篇文章
代码
路径
一首
学习
帮助
运行
库文件
情况
易懂
更多
条理
歌曲
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
招银网络技术面
银行总行软件开发中心
上海服务器防火墙公司
世界上最最安全的服务器
网络安全法实务题目
服务器会自动选择阵列做系统盘吗
泰州电子网络技术哪个好
excle一键更新数据库
数据库文件格式后缀
多媒体网络技术选题背景
邮箱数据库超过磁盘限额怎么办
郑州中天网络技术有限公司
gartner+数据库安全
现代化网络安全类型
南京浪潮服务器安装
腾讯大数据平台数据库
企友软件安装选择不到数据库
服务器防火墙那个好
授权域名服务器运营
穿越火线恐怖的服务器
石家庄软件开发后端招聘
华为服务器编号在哪里查
阿里云服务器解绑弹性ip
查询游戏服务器地址
服务器风扇推进器
珠海专业软件开发厂家直销
酒店的有线网络安全嘛
青岛戴尔服务器授权代理
golang游戏服务器安全
网络安全在军用的应用