600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【Python案例】——制作一个简易的音乐播放器【轻松入门】

【Python案例】——制作一个简易的音乐播放器【轻松入门】

时间:2018-08-15 05:11:18

相关推荐

【Python案例】——制作一个简易的音乐播放器【轻松入门】

目录

🌞(一)功能实现

(1)导入模块

(2)设置界面

(3)放置按钮

(4)显示已加载的音乐

(5)播放音乐

(6)停止播放

(7)下一首

(8)上一首

(9)音量控制

(10)关闭窗口

🌞(二)运行结果​

🌞哈喽,大家好丫,你们的小郭子又来啦 ~

话不多说,直接上干货,嘻嘻嘻~

🌞(一)功能实现

(1)导入模块

import osimport timeimport tkinterimport tkinter.filedialogimport threadingimport pygame

(2)设置界面

(3)放置按钮

# 添加按钮buttonChoose = tkinter.Button(root,text='添加')# 布局buttonChoose.place(x=50,y=10,width=50,height=20)# 播放按钮pause_resume = tkinter.StringVar(root,value='播放')buttonPlay = tkinter.Button(root,textvariable=pause_resume)buttonPlay.place(x=190,y=10,width=50,height=20)buttonPlay['state'] = 'disabled'# 停止按钮buttonStop = tkinter.Button(root, text='停止')buttonStop.place(x=120, y=10, width=50, height=20)buttonStop['state'] = 'disabled'# 下一首buttonNext = tkinter.Button(root, text='下一首')buttonNext.place(x=260, y=10, width=50, height=20)buttonNext['state'] = 'disabled'# 上一首buttonPrev = tkinter.Button(root, text='上一首')buttonPrev.place(x=330, y=10, width=50, height=20)buttonPrev['state'] = 'disabled'# 标签musicName = tkinter.StringVar(root, value='暂时没有播放音乐...')labelName = tkinter.Label(root, textvariable=musicName)labelName.place(x=10, y=30, width=260, height=20)# 音量控制# HORIZONTAL表示为水平放置,默认为竖直,竖直为verticals = tkinter.Scale(root, label='音量', from_=0, to=1, orient=tkinter.HORIZONTAL,length=240, showvalue=0, tickinterval=2, resolution=0.1)s.place(x=50, y=50, width=200)

(4)显示已加载的音乐

var2 = tkinter.StringVar()var2.set(ret)lb = tkinter.Listbox(root,listvariable=var2)lb.place(x=50,y=100,width=260,height=300)

(5)播放音乐

def play():if len(res):pygame.mixer.init()global numwhile playing:if not pygame.mixer.music.get_busy():netxMusic = res[num]print(netxMusic)print(num)pygame.mixer.music.load(netxMusic.encode())# 播放pygame.mixer.music.play(1)if len(res) -1 == num:num = 0else:num = num + 1netxMusic = netxMusic.split('\\')[1:]musicName.set('playing......' + ''.join(netxMusic))else:time.sleep(0.1)# 点击播放def buttonPlayClick():buttonNext['state'] = 'normal'buttonPrev['state'] = 'normal'# 选择要播放的音乐文件夹if pause_resume.get() == '播放':pause_resume.set('暂停')global folderif not folder:folder = tkinter.filedialog.askdirectory()if not folder:returnglobal playingplaying = True# 创建一个线程来播放音乐,当前主线程用来接收用户操作t = threading.Thread(target=play)t.start()elif pause_resume.get() == '暂停':# pygame.mixer.init()pygame.mixer.music.pause()pause_resume.set('继续')elif pause_resume.get() == '继续':# pygame.mixer.init()pygame.mixer.music.unpause()pause_resume.set('暂停')

(6)停止播放

def buttonStopClick():global playingplaying = Falsepygame.mixer.music.stop()

(7)下一首

def buttonNextClick():global playingplaying = Falsepygame.mixer.music.stop()global numif len(res) == num:num = 0playing = True# 创建线程播放音乐,主线程用来接收用户操作t = threading.Thread(target=play)t.start()

(8)上一首

def buttonPrevClick():global playingplaying = Falsepygame.mixer.music.stop()## pygame.mixer.quit()global num# num += 1# num -= 1if num == 0:num = len(res) - 2# num -= 1elif num == len(res) - 1:num -= 2else:num -= 2# num -= 1print(num)playing = True# 创建一个线程来播放音乐,当前主线程用来接收用户操作t = threading.Thread(target=play)t.start()

(9)音量控制

def control_voice(value=0.5):pygame.mixer.music.set_volume(float(value))

(10)关闭窗口

def closeWindow():# 修改变量,结束线程中的循环global playingplaying = Falsetime.sleep(0.3)try:# 停止播放,如果已停止,# 再次停止时会抛出异常,所以放在异常处理结构中pygame.mixer.music.stop()pygame.mixer.quit()except:passroot.destroy()

🌞(二)运行结果

好啦,今天的分享到这里就结束啦~🌞🌞

觉得我分享的文章不错的话,可以关注一下哦,嘻嘻嘻🌞🌞

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。