Pygames 混音器模組
pygame.mixer
模組有助於控制 pygame
程式中使用的音樂。截至目前,mixer
模組有 15 種不同的功能。
初始化
類似於你必須用 pygame.init()
初始化 pygame
,你也必須初始化 pygame.mixer
。
通過使用第一個選項,我們使用預設值初始化模組。但是,你可以覆蓋這些預設選項。通過使用第二個選項,我們可以使用手動輸入的值來初始化模組。標準值:
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
為了檢查我們是否已初始化它,我們可以使用 pygame.mixer.get_init()
,如果是,則返回 True
,如果不是則返回 False
。要退出/撤消初始化,只需使用 pygame.mixer.quit()
即可。如果要繼續使用模組播放聲音,則可能必須重新初始化模組。
可能的行動
當你的聲音正在播放時,你可以用 pygame.mixer.pause()
暫時暫停它。要繼續播放你的聲音,只需使用 pygame.mixer.unpause()
即可。你還可以使用 pygame.mixer.fadeout()
淡出聲音的結尾。它需要一個引數,即完成淡出音樂所需的毫秒數。
通道
只要有足夠的開放頻道來支援它們,你就可以根據需要播放儘可能多的歌曲。預設情況下,有 8 個通道。要更改頻道數,請使用 pygame.mixer.set_num_channels()
。引數是非負整數。如果通道數減少,則刪除通道上播放的任何聲音都將立即停止。
要查詢當前使用的頻道數,請致電 pygame.mixer.get_channels(count)
。輸出是當前未開啟的通道數。你還可以使用 pygame.mixer.set_reserved(count)
為必須播放的聲音預留聲道。引數也是非負整數。在新保留的頻道上播放的任何聲音都不會停止。
你還可以使用 pygame.mixer.find_channel(force)
找出未使用的頻道。它的論點是一個布林:無論是真還是假。如果沒有空閒的頻道且 force
為 False,它將返回 None
。如果 force
為真,它將返回播放時間最長的頻道。