欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何利用Python實(shí)現(xiàn)簡(jiǎn)易的音頻播放器

 更新時(shí)間:2022年03月03日 16:09:00   作者:LeBron?Le  
這篇文章主要介紹了如何利用Python實(shí)現(xiàn)簡(jiǎn)易的音頻播放器,需要用到的庫(kù)有pygame和tkinter,實(shí)現(xiàn)音頻播放的功能,供大家學(xué)習(xí)參考,希望對(duì)你有所幫助

1. 需要用到的Python庫(kù)

  • pygame
  • tkinter

2. 簡(jiǎn)易UI設(shè)計(jì)

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. 功能模塊實(shí)現(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 控制音頻音量大小

這里可以定義一個(gè)全局變量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. 運(yùn)行

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. 簡(jiǎn)易音頻播放器展示圖

  • ①點(diǎn)擊“OpenFile”按鈕可以打開(kāi)本地音頻文件
  • ②“?”和“?”分別控制音量的減小和增大
  • ③點(diǎn)擊"Restart"按鈕可以重新播放當(dāng)前選中的音頻

6. 總結(jié)

本文僅僅是實(shí)現(xiàn)了一個(gè)簡(jiǎn)易的音頻播放器,UI極其簡(jiǎn)陋,為了僅僅是實(shí)現(xiàn)音頻播放的功能,僅供學(xué)習(xí)參考。

到此這篇關(guān)于如何利用Python實(shí)現(xiàn)簡(jiǎn)易的音頻播放器的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)簡(jiǎn)易音頻播放器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python手寫(xiě)回歸樹(shù)的實(shí)現(xiàn)

    Python手寫(xiě)回歸樹(shù)的實(shí)現(xiàn)

    本文主要介紹了Python手寫(xiě)回歸樹(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python 命令行參數(shù)sys.argv

    Python 命令行參數(shù)sys.argv

    命令行參數(shù)是通過(guò)sys.argv[]來(lái)獲取的,sys.argv[0]是代碼文件本身的路徑,因此參數(shù)是從1開(kāi)始的。比如設(shè)置參數(shù)為: spe
    2008-09-09
  • python使用技巧-標(biāo)準(zhǔn)輸入

    python使用技巧-標(biāo)準(zhǔn)輸入

    這篇文章主要介紹了python使用技巧標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸入即stdin ,下文圍繞python使用技巧標(biāo)準(zhǔn)輸入相關(guān)資料展開(kāi)學(xué)習(xí)內(nèi)容,具有一的參考價(jià)值,需要的小伙伴可以參考一下
    2022-02-02
  • OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn)

    OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn)

    本文主要介紹了OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn),邊緣檢測(cè)一般是識(shí)別目標(biāo)圖像中亮度變化明顯的像素點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • python fabric實(shí)現(xiàn)遠(yuǎn)程操作和部署示例

    python fabric實(shí)現(xiàn)遠(yuǎn)程操作和部署示例

    這篇文章主要介紹了python使用fabric實(shí)現(xiàn)遠(yuǎn)程操作和部署示例,需要的朋友可以參考下
    2014-03-03
  • Python實(shí)現(xiàn)二叉堆

    Python實(shí)現(xiàn)二叉堆

    二叉堆是一種特殊的堆,二叉堆是完全二元樹(shù)(二叉樹(shù))或者是近似完全二元樹(shù)(二叉樹(shù))。二叉堆有兩種:最大堆和最小堆。最大堆:父結(jié)點(diǎn)的鍵值總是大于或等于任何一個(gè)子節(jié)點(diǎn)的鍵值;最小堆:父結(jié)點(diǎn)的鍵值總是小于或等于任何一個(gè)子節(jié)點(diǎn)的鍵值。
    2016-02-02
  • Python下載手機(jī)小視頻的操作方法

    Python下載手機(jī)小視頻的操作方法

    這篇文章主要介紹了Python 下載手機(jī)小視頻,主要為大家介紹使用 mitmproxy 這個(gè)抓包工具如何監(jiān)控手機(jī)上網(wǎng),并且通過(guò)抓包,把我們想要的數(shù)據(jù)下載下來(lái),需要的朋友可以參考下
    2022-04-04
  • Python數(shù)據(jù)結(jié)構(gòu)之遞歸可視化詳解

    Python數(shù)據(jù)結(jié)構(gòu)之遞歸可視化詳解

    遞歸函數(shù)是直接調(diào)用自己或通過(guò)一系列語(yǔ)句間接調(diào)用自己的函數(shù)。遞歸在程序設(shè)計(jì)有著舉足輕重的作用,在很多情況下,借助遞歸可以優(yōu)雅的解決問(wèn)題。本文主要介紹了如何利用可視化方式來(lái)了解遞歸函數(shù)的執(zhí)行步驟,需要的可以參考一下
    2022-04-04
  • numpy自動(dòng)生成數(shù)組詳解

    numpy自動(dòng)生成數(shù)組詳解

    這篇文章主要介紹了numpy自動(dòng)生成數(shù)組詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹

    Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹

    這篇文章主要介紹了Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06

最新評(píng)論