1.樣例
2.分析
- 1.播放器界面
- 2.功能
2.1播放器界面
- button:添加/播放/暫停/下一首/上一首
- Scale:音量條
- Label
2.2功能
2.2.1添加音樂(lè),選擇文件夾,顯示文件夾里.Mp3文件
def buttonAddClick():
# 添加文件
# 聲明全局變量folder,res
global folder
global res
if not folder:
folder = tkinter.filedialog.askdirectory()
# 列表指導(dǎo)式,if判斷是否結(jié)尾是('.mp3','.wav','.ogg','.m4a','.flac'),識(shí)別音頻文件
# musics得到文件內(nèi)容
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張的\\替換成/,列表添加到res
var2 = StringVar()
var2.set(ret) # 將ret列表去重,set集合
lb = Listbox(window, listvariable=var2) # 列表箱
lb.place(x=405, y=170, width=350, height=190)
2.2.2播放音樂(lè),開(kāi)始播放第一首音樂(lè),按鈕由"播放"變?yōu)?暫停",點(diǎn)擊"暫停",變?yōu)?播放",播放顯示Playing…
def buttonPlayClick():
# 點(diǎn)擊播放
buttonNext['state'] = 'normal'
buttonPrev['state'] = 'normal'
# 選擇要播放的音樂(lè)文件夾
if pause_resume.get() == '播放':
pause_resume.set('暫停')
global folder
if not folder:
folder = tkinter.filedialog.askdirectory()
if not folder:
return
global playing
playing = True
# 創(chuàng)建一個(gè)線程來(lái)播放音樂(lè),當(dāng)前主線程來(lái)接收用戶操作
t = threading.Thread(target=play)
# start執(zhí)行線程
t.start()
elif pause_resume.get() == '暫停':
pygame.mixer.music.pause()
pause_resume.set('繼續(xù)')
elif pause_resume.get() == '繼續(xù)':
pygame.mixer.music.unpause()
pause_resume.set('暫停')
2.2.3下一首,點(diǎn)擊切換播放下一首音樂(lè)
def buttonNextClick():
# 下一首,需要先暫停當(dāng)前音樂(lè),而主線程接收用戶操作
global playing
palying = False
pygame.mixer.music.stop()
global num
if len(res) == num:
num = 0
playing = True
# 必須創(chuàng)建一個(gè)線程來(lái)播放音樂(lè),當(dāng)前主線程來(lái)接收用戶操作
t = threading.Thread(target=play)
# start執(zhí)行線程
t.start()
2.2.4上一首,點(diǎn)擊切換播放上一首音樂(lè)
def buttonPrevClick():
# 上一首
global playing
palying = False
pygame.mixer.music.stop()
global num
if num == 0:
num = len(res) - 2
elif num == len(res) - 1:
num -= 2
else:
num -= 2
playing = True
# 必須創(chuàng)建一個(gè)線程來(lái)播放音樂(lè),當(dāng)前主線程來(lái)接收用戶操作
t = threading.Thread(target=play)
# start執(zhí)行線程
t.start()
2.2.5音量,滑動(dòng)控制音量
def control_voice(value=0.5):
# 聲音控制
# value:0.0-1.0
pygame.mixer.music.set_volume(float(value))
2.2.6點(diǎn)擊打開(kāi)網(wǎng)頁(yè)
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-442477.html
# 打開(kāi)超鏈接
def open_url(event):
webbrowser.open("http://www.romantik.top:81/", new=0)
3.源碼
源代碼下載鏈接:https://download.csdn.net/download/qq_20185737/13692920?spm=1001.2014.3001.5501文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-442477.html
到了這里,關(guān)于Python—實(shí)現(xiàn)本地音樂(lè)播放器(添加/播放/暫停/下一首/上一首/音量/打開(kāi)超鏈接)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!