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 为真,它将返回播放时间最长的频道。