一 代码
import os
import tkinter
import tkinter.filedialog
import random
import time
import threading
import pygame
folder =''
def play():
#默认播放D:\music文件夹中所有mp3文件
global folder
musics =[folder+'\\'+music for music in os.listdir(folder) \
if music.endswith(('.mp3','.wav','.ogg'))]
total = len(musics)
#初始化混音器设备
pygame.mixer.init()
while playing:
ifnot pygame.mixer.music.get_busy():
#随机播放一首歌曲
nextMusic = random.choice(musics)
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('音乐播放器v1.0---cakin24')
root.geometry('280x70+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
ifnot folder:
folder = tkinter.filedialog.askdirectory()
ifnot 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=270, height=20)
#启动消息循环
root.mainloop()
二 运行结果
相关推荐
pygame+requests+tkinter实现的音乐播放器
python+pygame+opencv+gpt实现虚拟数字人直播,AI技术突飞猛进,不断的改变着人们的工作和生活。数字人直播作为新兴形式,必将成为未来趋势,具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作,...
基于Python+Pygame+AI算法的迷宫小游戏源码.zip 可作为期末大作业和课程设计,纯手打高分项目,小白实战没难度。 基于Python+Pygame+AI算法的迷宫小游戏源码.zip 可作为期末大作业和课程设计,纯手打高分项目,...
基于pygame和tkinter 本地音乐播放器软件
基于 Python + Pygame + AI算法的迷宫小游戏.7z
#Pygame 简易音乐播放器 1. 获取文件夹下音乐列表; 2. 播放/暂停/恢复音乐; 3. 上一首/下一首按钮; 4. 获取mp3文件中专辑图片并显示。
基于Python+Pygame+PaddlePaddle的可视化地训练围棋人工智能的程序源码+使用文档+全部资料(优秀项目基于Python+Pygame+PaddlePaddle的可视化地训练围棋人工智能的程序源码+使用文档+全部资料(优秀项目 【备注】 1...
基于 Python + Pygame + AI算法的迷宫小游戏源码+详细说明.zip
本资源包“游戏开发+Pygame+飞机大战+教育编程实践:pygame飞机大战源码和素材(Python版)完整版”提供了一个完整的游戏开发项目,旨在帮助初学者和中级Python开发者通过实践学习和掌握游戏开发的基本技能。...
Python版经典小游戏愤怒的小鸟源代码,基于pygame+pymunk 程序依赖:pygame==2.0.1,pymunk==5.5.0 直接运行main.py
一款基于 Python + Pygame + AI算法的迷宫小游戏 main.py为主函数 maze.py为随机生成迷宫函数 color.py为存储颜色函数 main_new.py为被老师验收之后自己重写的主函数 mapp.py为被老师验收之后自己重写的自己设计的...
func_1.py 是 播放器功能文件。main0.py 是程序入口文件。 3,mai0.py 是主程序入口文件,写好,调试功能和此文件内容无关,提高编写程序效率。 4,player.py 是.ui 文件转换来的,修改界面后转换生成。 5,功能文件...
机巧围棋(CleverGo)基于Python+Pygame+PaddlePaddle打造一款点击按钮就能可视化地训练围棋人工智能的程序。.zip
树莓派使用python库pygame来调用USB摄像头保存图像。 树莓派使用python库pygame来调用USB摄像头保存图像。 树莓派使用python库pygame来调用USB摄像头保存图像。
用pygame和pyqt5实现的音乐播放器
最近在学习python,用pygame模块简单设计了一个可视化的简易计算器
这是一个基于python的智能停车收费系统,界面是pygame,车牌识别是调用百度api实现的,识别车牌数据之后,把其存入数据库,并且会在下一次扫描这个车牌的时候计算费用,费用是2/h,使用pygame在界面上显示提示信息、...
使用python中的pygame制作的一款飞扬的小鸟小游戏(包含素材和源代码)供各位网友观看,功能还不是很完善哈
一次安装就可以成功,内有安装说明,花费一下午的时间,终于安装成功