如何利用Python實現(xiàn)簡易的音頻播放器
1. 需要用到的Python庫
- pygame
- tkinter
2. 簡易UI設(shè)計
audio_player = Tk() audio_player.title('Audio Player v1.0') audio_player.geometry('100x100+570+200') audio_player.maxsize(height=110, width=220) audio_player.minsize(height=110, width=220)
3. 功能模塊實現(xiàn)
3.1 選擇音頻文件進(jìn)行播放
def selectFile(): ? ? file = filedialog.askopenfile(mode='r', filetypes=[('AudioFile', '*.mp3')]) ? ? global filePath ? ? filePath = str(file).split("'")[1] ? ? try: ? ? ? ? playAudio() ? ? except: ? ? ? ? pass
3.2 控制音頻播放、暫停
def changeText(text): ? ? if text == 'play': ? ? ? ? return 'pause' ? ? if text == 'pause': ? ? ? ? return 'play' def playStop(): ? ? playBtn.config(text=changeText(playBtn.config('text')[4])) ? ? if playBtn.config('text')[4] == 'pause': ? ? ? ? mixer.music.unpause() ? ? else: ? ? ? ? if playBtn.config('text')[4] == 'play': ? ? ? ? ? ? mixer.music.pause()
3.3 控制音頻音量大小
這里可以定義一個全局變量x,初始化為值0.5。
def audioINC(y): ? ? mixer.music.set_volume(y + 0.1) ? ? global x ? ? x += 0.1 def audioDEC(y): ? ? mixer.music.set_volume(y - 0.1) ? ? global x ? ? x -= 0.1
3.4 播放器初始化等細(xì)節(jié)
def playAudio(): ? ? try: ? ? ? ? mixer.init() ? ? ? ? mixer.music.load(filePath) ? ? ? ? mixer.music.set_volume(x) ? ? ? ? playBtn.config(text='pause') ? ? ? ? mixer.music.play() ? ? except: ? ? ? ? pass
4. 運行
frame = Frame(app) frame.place(x=35, y=20) openBtn = Button(frame, text='OpenFile', command=selectFile, width=8).grid(row=0, column=1) audioDec = Button(frame, text='?', command=lambda: audioDEC(x)).grid(row=1, column=0) playBtn = Button(frame, text='...', command=playStop, width=8) playBtn.grid(row=1, column=1) audioInc = Button(frame, text='?', command=lambda: audioINC(x)).grid(row=1, column=2) restartBtn = Button(frame, text='Restart', command=playAudio, width=8).grid(row=2, column=1) app.mainloop()
5. 簡易音頻播放器展示圖
- ①點擊“
OpenFile
”按鈕可以打開本地音頻文件 - ②“?”和“?”分別控制音量的減小和增大
- ③點擊"
Restart
"按鈕可以重新播放當(dāng)前選中的音頻
6. 總結(jié)
本文僅僅是實現(xiàn)了一個簡易的音頻播放器,UI極其簡陋,為了僅僅是實現(xiàn)音頻播放的功能,僅供學(xué)習(xí)參考。
到此這篇關(guān)于如何利用Python實現(xiàn)簡易的音頻播放器的文章就介紹到這了,更多相關(guān)Python實現(xiàn)簡易音頻播放器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python fabric實現(xiàn)遠(yuǎn)程操作和部署示例
這篇文章主要介紹了python使用fabric實現(xiàn)遠(yuǎn)程操作和部署示例,需要的朋友可以參考下2014-03-03Python數(shù)據(jù)結(jié)構(gòu)之遞歸可視化詳解
遞歸函數(shù)是直接調(diào)用自己或通過一系列語句間接調(diào)用自己的函數(shù)。遞歸在程序設(shè)計有著舉足輕重的作用,在很多情況下,借助遞歸可以優(yōu)雅的解決問題。本文主要介紹了如何利用可視化方式來了解遞歸函數(shù)的執(zhí)行步驟,需要的可以參考一下2022-04-04Keras自動下載的數(shù)據(jù)集/模型存放位置介紹
這篇文章主要介紹了Keras自動下載的數(shù)據(jù)集/模型存放位置介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06