PyGame 音效與音樂

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

聲音的基本原理
維基百科對聲音的解釋如下:
聲音是振動產生的聲波,通過介質氣體固體液體)傳播並能被人或動物聽覺器官所感知的波動現象。

而在 聲音記錄與重播的基本原理 一文中,也說明了聲音是聲波推動人耳的耳膜所產生的感受」

PyGame Tutorial: Music and Sound Effects一文,我們可以知道Pygame控制音樂的基礎程式寫法:

Playing a song once(播放音樂一次):

pygame.mixer.music.load('foo.mp3')
pygame.mixer.music.play(0)


底下也是播放一次:
pygame.mixer.music.play() # play once


Playing a song infinitely(一直重複播放):

pygame.mixer.music.load('foo.mp3')
pygame.mixer.music.play(-1)


Queuing a Song(加到播放清單):

這個會在播完一首後,繼續播放清單(Queue)裡的音樂。
pygame.mixer.music.queue('next_song.mp3')


Stopping a Song(停止播放):

pygame.mixer.music.stop()
判斷音樂是否結束播放:
SONG_END = pygame.USEREVENT + 1pygame.mixer.music.set_endevent(SONG_END)
while True:
for event in pygame.event.get():
if event.type == SONG_END:
print("the song ended!")

依照這些function以及一點點的GUI設計,就可以設計出簡易的 mp3 player了。
底下程式碼中,按鈕的圖片來源:http://www.iconarchive.com/show/nuoveXT-icons-by-saki.2.html。而測試的音樂是從 https://www.bensound.com/ 下載的。

程式碼:https://gist.github.com/pinglunliao/258aa68c6525f0d8793061e949653761
程式壓縮檔下載處


Demo Video:

沒有留言: