tkinter窗口在播放歌曲时冻结

时间:2018-07-10 11:00:39

标签: python tkinter mp3

我最近开始制作GUI应用程序,并且想要制作一个简单的音乐播放器。我正在使用pygame库播放歌曲,而且效果很好。问题是播放歌曲时窗口冻结,并且我无法按任何按钮。谁能指出我正确的方向?我搜索了很多东西,却一无所获。这是代码:

import tkinter.filedialog as filedialog
from tkinter import *
import os
import pygame

def play(position):
    pygame.mixer.music.load(listOfSongs[position])
    global index
    index += 1
    pygame.mixer.music.play()
    while pygame.mixer.music.get_busy():
        pygame.time.Clock().tick(5)

def next(event):
    global index
    index += 1
    play(index)


root = Tk()
listOfSongs = []
directory = filedialog.askdirectory()
print("Loading files from directory: ", directory)
os.chdir(directory)
pygame.mixer.init()
for file in os.listdir(directory):
    if file.endswith('.mp3'):
        print("Appending file: ", file)
        listOfSongs.append(file)

index = 0
play(index)
b = Button(root, text="Next", bg='red', width=5)
b.bind("<Button-1>", next)
b.pack()
root.mainloop()

0 个答案:

没有答案