1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

时间:2022-02-27 15:19:24

相关推荐

Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

1.样例

2.分析

1.播放器界面2.功能
2.1播放器界面
button:添加/播放/暂停/下一首/上一首Scale:音量条Label
2.2功能
2.2.1添加音乐,选择文件夹,显示文件夹里.Mp3文件

def buttonAddClick():# 添加文件# 声明全局变量folder,resglobal folderglobal resif not folder:folder = tkinter.filedialog.askdirectory()# 列表指导式,if判断是否结尾是('.mp3','.wav','.ogg','.m4a','.flac'),识别音频文件# musics得到文件内容musics = [folder + '\\' + music for music in os.listdir(folder) if music.endswith(('.mp3'))]ret = []for i in musics:ret.append(i.split('\\')[1:]) # 切片,取到:后面的操作res.append(i.replace('\\', '/')) # 将i张的\\替换成/,列表添加到resvar2 = StringVar()var2.set(ret) # 将ret列表去重,set集合lb = Listbox(window, listvariable=var2) # 列表箱lb.place(x=405, y=170, width=350, height=190)

2.2.2播放音乐,开始播放第一首音乐,按钮由"播放"变为"暂停",点击"暂停",变为"播放",播放显示Playing…

def buttonPlayClick():# 点击播放buttonNext['state'] = 'normal'buttonPrev['state'] = 'normal'# 选择要播放的音乐文件夹if pause_resume.get() == '播放':pause_resume.set('暂停')global folderif not folder:folder = tkinter.filedialog.askdirectory()if not folder:returnglobal playingplaying = True# 创建一个线程来播放音乐,当前主线程来接收用户操作t = threading.Thread(target=play)# start执行线程t.start()elif pause_resume.get() == '暂停':pygame.mixer.music.pause()pause_resume.set('继续')elif pause_resume.get() == '继续':pygame.mixer.music.unpause()pause_resume.set('暂停')

2.2.3下一首,点击切换播放下一首音乐

def buttonNextClick():# 下一首,需要先暂停当前音乐,而主线程接收用户操作global playingpalying = Falsepygame.mixer.music.stop()global numif len(res) == num:num = 0playing = True# 必须创建一个线程来播放音乐,当前主线程来接收用户操作t = threading.Thread(target=play)# start执行线程t.start()

2.2.4上一首,点击切换播放上一首音乐

def buttonPrevClick():# 上一首global playingpalying = Falsepygame.mixer.music.stop()global numif num == 0:num = len(res) - 2elif num == len(res) - 1:num -= 2else:num -= 2playing = True# 必须创建一个线程来播放音乐,当前主线程来接收用户操作t = threading.Thread(target=play)# start执行线程t.start()

2.2.5音量,滑动控制音量

def control_voice(value=0.5):# 声音控制# value:0.0-1.0pygame.mixer.music.set_volume(float(value))

2.2.6点击打开网页

# 打开超链接def open_url(event):webbrowser.open("http://www.romantik.top:81/", new=0)

3.源码

源代码下载链接:/download/qq_5737/13692920?spm=1001..3001.5501

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