国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

pygame學習筆記(4):聲音控制

2020-02-23 00:43:39
字體:
來源:轉載
供稿:網友

pygame.mixer是一個用來處理聲音的模塊,其含義為“混音器”。游戲中對聲音的處理一般包括制造聲音和播放聲音兩部分,這里僅學習了播放聲音部分。

1、pygame.mixer啟動與初始化

pygame.mixer.init():mixer的初始化。程序中,使用時,一般放在最前面的幾句代碼中:
代碼如下:
import pygame
pygame.init()
pygame.mixer.init()

2、播放聲音片段wav文件
播放聲音片段wav文件時,pygame.mixer使用Sound對象,格式為:
代碼如下:
soundwav=pygame.mixer.Sound("filename.wav") #filename.wav文件名
soundwav.play()

在游戲中,往往用下面的代碼來完成:

代碼如下:
import pygame,sys
pygame.init()
pygame.mixer.init()
screen=pygame.display.set_mode([640,480])
pygame.time.delay(1000)#等待1秒讓mixer完成初始化
soundwav=pygame.mixer.Sound("filename.wav")
soundwav.play()
while 1:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

3、播放mp3、wma、ogg音樂文件
這里只是學習了一個mp3文件,如果非windows系統,那可以試試ogg文件。播放音樂文件主要使用pygame.mixer中的music模塊,主要方法為:
代碼如下:
pygame.mixer.music.load("filename.mp3")
pygame.mixer.music.play(n,start,stop)#第一個參數為播放次數,如果是-1表示循環播放,省略表示只播放1次。第二個參數和第三個參數分別表示播放的起始和結束位置。

完整的代碼為:

代碼如下:
import pygame,sys
pygame.init()
pygame.mixer.init()
screen=pygame.display.set_mode([640,480])
pygame.time.delay(1000)
pygame.mixer.music.load("filename.mp3")
pygame.mixer.music.play()
while 1:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

程序在運行時,一旦開始播放音樂,就會繼續做下一件事情,也就是說,如果我們要播放兩首歌,那么
代碼如下:
pygame.mixer.music.load("filename1.mp3")
pygame.mixer.music.play()
pygame.mixer.music.load("filename2.mp3")
pygame.mixer.music.play()

這段代碼運行后,就會出現兩首歌同時在播放的情況。實際中,我們常常需要播放完一首,再播放另一首,這樣就需要利用pygame.mixer.music.get_busy()函數來判斷,如果函數返回值為True那么說明目前處于忙的狀態,否則返回 False。例如:

代碼如下:
import pygame,sys
pygame.init()
pygame.mixer.init()
screen=pygame.display.set_mode([640,480])

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克山县| 乌兰察布市| 鄂州市| 清原| 廉江市| 汝阳县| 平利县| 新晃| 清远市| 富锦市| 合川市| 长宁县| 临桂县| 屏边| 西乌珠穆沁旗| 河源市| 枣庄市| 延长县| 南昌市| 普洱| 集贤县| 昭苏县| 建湖县| 石嘴山市| 乐陵市| 清远市| 肥西县| 上饶市| 伊春市| 磐安县| 封丘县| 中山市| 天津市| 达日县| 商河县| 曲沃县| 田林县| 荣成市| 文昌市| 游戏| 翁牛特旗|