Python实现mp3播放器

2022-06-21  本文已影响0人  薛东弗斯

import tkinteras tk

import os

import pygame

import random

window = tk.Tk()

# update window title

window.title("music")

# update window size

window.geometry("600x200")

path="C:/Users/Amber/Documents/8天Python全栈训练营学习课件/day03-进阶的第一步:定义一些函数/代码/music/"

musicList = os.listdir(path)

#print(musicList)

musicNum=0

def playMusic(file):

pygame.mixer.init()

pygame.mixer.music.load(file)

pygame.mixer.music.play()

def play():

print("Started")

global musicNum# dlclared, this parameter will be used.

    musicNum =0

    file = path + musicList[musicNum]

playMusic(file)

def stop():

print("Stoped")

pygame.mixer.music.stop()

pygame.mixer.music.unload()

def shuffleplay():

print("Shuffle play")

stop()

global musicNum

musicNum = random.randint(0,len(musicList)-1)

file = path + musicList[musicNum]

playMusic(file)

def previous():

print("Previous")

stop()

global musicNum

if musicNum ==0:

musicNum =len(musicList) -1

    else:

musicNum -=1

    file = path + musicList[musicNum]

playMusic(file)

def next():

print("Next Music")

stop()

global musicNum

if musicNum ==len(musicList):

musicNum =0

    else:

musicNum +=1

    file = path + musicList[musicNum]

playMusic(file)

# create a button

winBeginBt = tk.Button(window,text="start",width=10,command=play)# command point to play funciton.

winBeginBt.grid(row=1,column=0,padx=10,pady=20)

#Random play

winShfflePlay = tk.Button(window,text="random play",width=10,command=shuffleplay)

winShfflePlay.grid(row=1,column=1,padx=10,pady=20)

#previous

winShfflePlay = tk.Button(window,text="previous",width=10,command=previous)

winShfflePlay.grid(row=1,column=2,padx=10,pady=20)

#next

winShfflePlay = tk.Button(window,text="next",width=10,command=next)

winShfflePlay.grid(row=1,column=3,padx=10,pady=20)

#stop

winShfflePlay = tk.Button(window,text="stop",width=10,command=stop)

winShfflePlay.grid(row=1,column=4,padx=10,pady=20)

winLabel=tk.Label(window,text="welcome using music",font ='黑体 28 bold',bg='gold',fg='green',width=30,height=2)

winLabel.grid(row=0,column=0,columnspan=5)

window.mainloop()

上一篇 下一篇

猜你喜欢

热点阅读