Das Problem ist aber ,dass wenn man einen Titel überspringt es die Lieder danach nicht mehr in der Reihenfolge von der liste "filelist" abspielt.
Kann mir bitte jemand helfen.
Code: Alles auswählen
import pygame,Tkinter,glob,time,thread,random
filelist=glob.glob("*.mp3")
pygame.mixer.init(22050,-16,2,4096)
main = Tkinter.Tk()
global start
start = 0
def back():
global start
if start > 2:
start -= 2
forward = 1
thread.start_new_thread(play,())
def skip():
forward = 1
thread.start_new_thread(play,())
def resume():
pygame.mixer.music.unpause()
pause["text"] = "pause"
pause["command"] = play_pause
def play_pause():
pygame.mixer.music.pause()
pause["text"] = "play"
pause["command"] = resume
def shuffle_list():
global start
start = 0
random.shuffle(filelist)
shuffle_var = 1
thread.start_new_thread(play,())
lb = Tkinter.Label(main)
lb.pack()
back_button = Tkinter.Button(main,text = "back",command = back)
back_button.pack()
pause = Tkinter.Button(main,text = "pause",command = play_pause)
pause.pack()
skip_button = Tkinter.Button(main,text = "skip", command = skip)
skip_button.pack()
shuffle = Tkinter.Button(main,text = "shuffle",command = shuffle_list)
shuffle.pack()
scb = Tkinter.Scrollbar(main,orient = "vertical")
file_list = Tkinter.Listbox(main,height = 10, yscrollcommand = scb.set)
scb["command"] = file_list.yview
file_list.pack(side = "left")
scb.pack(side = "left")
def play():
global start
shuffle_var = 0
forward = 0
file_list.delete(0,"end")
for file in filelist:
file_list.insert("end",file)
for file in filelist[start:len(filelist)]:
start += 1
pygame.mixer.music.load(file)
pygame.mixer.music.play()
lb["text"] = file
while pygame.mixer.music.get_busy():
if shuffle_var == 1 or forward == 1:
break
else:
time.sleep(5)
if shuffle_var == 1 or forward == 1:
break
thread.start_new_thread(play,())
main.mainloop()