聲音的基本原理
維基百科對聲音的解釋如下:
「
由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:
沒有留言:
張貼留言