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