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 為真,它將返回播放時間最長的頻道。