mp3 player
Verfasst: Freitag 5. Juni 2015, 14:05
ich hab ein Programm geschrieben, das mp3 darein abspielen soll.
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.
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()