pygame.mixer音效
生活随笔
收集整理的這篇文章主要介紹了
pygame.mixer音效
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要在游戲中播放碰撞、爆炸、語音等音效,
這個模塊支持同時播放多個音效文件,多個文件在多個不同的通道Channel中播放,一個通道一次只能播放一個音效文件。
- pygame.init() 進行全部模塊初始化
- pygame.mixer.init() 只初始化音頻部分
- pygame.mixer.get_num_channels() 可以這樣查看總共有多少個通道
- channel = pygame.mixer.Channel(i) 使用取得第i個通道。
- channel = pygame.mixer.find_channel() 自動取得一個空閑的通道(沒有音效正在播放的通道)。
- sound = pygame.mixer.Sound('/home/liumin/love.wav')使用指定文件名載入一個音頻文件,并創建一個Sound對象。 音頻文件可以是wav,ogg等格 式。音頻文件的內容會被全部載入到內存中。
- channel.play(sound) 使用在一個通道中播放一個音效。
- sound.play() 自動找一個空閑的通道播放音效。
- sound.stop() 停止音效sound的播放。或者用
- channel.stop() 停止在通道channel中播放的音效。正在播放音效的通道還可以用
- channel.pause() 暫停通道中的音效。
- channel.unpause() 繼續播放。
- channel.fadeout(time) 用來進行淡出,在time毫秒的時間內音量由初始值漸變為0,最后停止播放。 對于一個通道可以用 channel.get_busy() 檢查它是否正在播放音效。當一個通道中的音效播放完成時,可以通過事件通知給用戶程序。
- channel.set_endevent(pygame.USEREVENT + 1) 來設置當音樂播放完成時發送pygame.USEREVENT+1事件給用戶程序。
- channel.queue(sound) 為正在播放音效的通道指定下一個要播放的音效。當前的音效播放完成后,下一個音效會自動播放。一個通道只能有一個等待播放的音效。
- channel.set_volume(value) 來設置通道中播放的音效的音量。
- sound.set_volume(value) 來設置單個音效的音量。兩者的取值范圍都是0.0到1.0。音效播放的實際音量是通道音量和音效音量的乘積,比如通道音量0.5,音效音量0.6,則實際播放的音量為0.3。
-
NOTE:?音效和音樂的區別是:音效要整個文件載入到Sound對象中才能播放,而音樂不用完全載入,而以流的方式播放。?
-
?
-
?? 1?import?pygame
?? 2
?? 3?pygame.mixer.init()
?? 4
?? 5?channel?=?pygame.mixer.Channel(2)
?? 6?sound?=?pygame.mixer.Sound('yuelao.wav')
?? 7?while?1:
?? 8?????????if?channel.get_busy()?==?False:
?? 9?????????????????#sound.play()
? 10?????????????????channel.play(sound)
-
NOTE:?mixer.Sound()不直接支持mp3格式音樂,可以用ogg或wav格式的音樂
-
轉自:https://blog.csdn.net/liminzi/article/details/3220244
總結
以上是生活随笔為你收集整理的pygame.mixer音效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 附录I-1 体系结构设计报告
- 下一篇: 检查错别字在线检测系统网站,免费错别字识