對於python而言,音頻的操作可以使用pygame包中的sound 和 music對象,本博客主要講解這兩個對象。
1.sound對象
Sound對象適合處理較短的音樂,如OGG和WAV格式的音頻文件。
mixer.init() #初始化
創建Sound對象
sound = mixer.Sound(音頻文件名)
sound.play(loops = 0) 播放音樂,loops代表播放次數,默認爲0,表示播放一次;loops=5可播放6次;loops=-1 可重複播放
sound.stop() 結束播放
sound.set_volume(value) 設置音量,音量有最低到高0.0--1.0
sound.get_volume() 獲取當前的音量
2.music對象
Music對象出來可以播放OGG、WAV音頻外,還可以播放mp3格式。
mixer.init() #初始化
mixer.music.load(filename) 停止正在播放的音樂,filename爲歌曲的文件名
mixer.music.play(loops=0,start=0.0) 播放歌曲,loops表示播放次數,默認爲0,播放1次;loops=5可以播放6次;loop=-1可以重複播放
mixer.music.stop() 停止播放
mixer.music.pause() 暫停播放
mixer.music.unpause() 用pause()暫停後,必須使用這個函數來繼續播放
mixer.music.set_volume(value) 設置音量,最大1.0,最小0.0
mixer.music.get_volume() 獲取當前音量
mixer.music.get_busy() 檢查歌曲播放狀態,True爲正在播,False爲不在播
3.同時播放兩個音頻
存在在項目的documents的文件夾內的兩個音頻一個使用music對象,另一個使用Sound對象
註明:如果想決定音樂的播放位置,建議採用Sound對象
pygame.mixer.init()
pygame.mixer.music.load('documents/music.mp3', )
s = pygame.mixer.Sound('documents/boom2.wav')
s.play()
pygame.mixer.music.play(-1,0)#-1表示循環播放,0表示從起始播放