1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 用Python实现简易音乐播放器(mp3类型)2

用Python实现简易音乐播放器(mp3类型)2

时间:2019-05-15 03:04:21

相关推荐

用Python实现简易音乐播放器(mp3类型)2

实现方法改编自“嘟嘟还没长大”。

一、播放器功能

实现功能:具有播放器画面,有八个按钮实现功能,画面、按钮插入自制背景,并具有调整画面透明度的功能。

未实现功能:时间显示不能实现动态显示,没有显示歌曲歌词等信息。

二、实现代码

import osimport randomfrom pygame import mixerimport timeimport tkinter as tkfrom tkinter import Button #按钮控件;在程序中显示按钮from tkinter import Label #标签控件;可以显示文本和位图from tkinter import Entry #输入控件;用于显示简单的文本内容from tkinter import Scale #范围控件;显示一个数值刻度,为输出限定范围的数字区间from tkinter import PhotoImage #用于插入图片from tkinter import messagebox #用于显示你应用程序的消息框from tkinter import Toplevel #容器控件;用来提供一个单独的对话框,和Frame比较类似from tkinter import StringVarfrom PIL import ImageTk #图像处理库def name(): #检索文件夹下所有mp3文件名称filename = os.listdir(r"F:\python\project\assignment\music") #利用os.listdir检索文件夹下所有文件名称# print(filename)global musicmusic = []for music_name in filename:if '.mp3' in music_name:music.append(music_name) #检索出mp3文件名字return music###音乐加载、播放、暂停、声音大小等操作def music_begin(i):mixer.init()mixer.music.load(music[int(i)])def music_random():global j,ii = random.randint(1, len(music))j = imusic_begin(i)mixer.music.play()def music_stop():mixer.music.stop()mixer.music.unload()def music_next():global j,lj += 1l = jmusic_begin(j)mixer.music.play()def music_last():global ll -= 1music_begin(l)mixer.music.play()def music_louder():global loudloud += 0.1mixer.music.set_volume(loud)return louddef music_lower():global loudloud -= 0.1mixer.music.set_volume(loud)return louddef music_pause():mixer.music.pause()def music_unpause():mixer.music.unpause()###以上函数实现对音乐的操作,编程需注意全局变量在每一个函数里面都应该glabal声明###编辑播放器画面函数def background(): #编辑画面背景top = tk.Tk()# top.geometry() #设置窗口的初始大小top.title("音乐播放器")v1 = StringVar() #用tk.StringVar会报错,需要将tkinter中的StringVar调出def printsrceen(texts): #调画面透明度函数t = int(texts)top.attributes("-alpha", t / 100)def update_time(): #获取当前时间函数current = time.strftime("%H:%M:%S")tk.Label(top, text="{0}".format(current), font=("Helvetica", 15)).place(x=20, y=30)#添加背景图片photo = ImageTk.PhotoImage(file="背景.png")Label = tk.Label(top, text='人生不止有酒,还有诗和远方。',justify=tk.LEFT,image=photo,compound=tk.CENTER,font=("华文行楷",50),fg="white")Label.pack() #默认字在中间# 设置时间显示update_time()#添加按钮功能,美化按钮photo1 = ImageTk.PhotoImage(file="按钮背景.jpg")Button(top, text="暂停", command=music_pause,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=180, y=130)Button(top, text="随机播放", command=music_random,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=180, y=50)Button(top, text="下一首", command=music_next,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=300, y=130)Button(top, text="上一首", command=music_last,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=300, y=50)Button(top, text="继续", command=music_unpause,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=180, y=210)Button(top, text="停止", command=music_stop,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=180, y=290)Button(top, text="音量增", command=music_louder,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=300, y=210)Button(top, text="音量减", command=music_lower,width=91,height=51,image=photo1,compound=tk.CENTER,font=("宋体",15),fg="black").place(x=300, y=290)#按钮内容编辑函数和Label设置函数内容一致#设置透明度条w2 = Scale(top, from_=30, to=100, orient="horizontal", width=20,length=300, variable=v1,command=printsrceen, label="透明度")w2.place(x=550,y=700)tk.mainloop()music = name()i = j = l = 1loud = 0.5background()

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