2025年模块七:mixer模块

模块七:mixer模块mixer 模块主要用于加载和播放声音 在 pygame 中 声音主要用 Sound 对象来表示 所以说 mixer 模块实现声音的播放 暂停和一些其他的功能 也就是通过 mixer 模块中的一些函数来实现 初始化 mixer 模块 pygame mixer init 设置 mixer 模块的参数 pygame mixer pre init

大家好,我是讯享网,很高兴认识大家。

mixer模块主要用于加载和播放声音。在pygame中,声音主要用Sound对象来表示,所以说mixer模块实现声音的播放、暂停和一些其他的功能,也就是通过mixer模块中的一些函数来实现。

# 初始化mixer模块 pygame.mixer.init() # 设置mixer模块的参数 pygame.mixer.pre_init() # 取消初始化mixer模块 pygame.mixer.quit() # 判断mixer模块是否初始化 pygame.mixer.get_init() # 停止所有声道声音的播放 pygame.mixer.stop() # 暂停所有声道声音的播放 pygame.mixer.pause() # 恢复声音的播放 pygame.mixer.unpause() # 在结束前淡出声音 pygame.mixer.fadeout() # 设置播放的通道数 pygame.mixer.set_num_channels() # 获取当前播放声音的通道数 pygame.mixer.get_num_channels() # 设置保留通道的数量,如果声音在保留的通道上播放,那么将不会停止 pygame.mixer.set_reserved() # 查找未使用的频道 pygame.mixer.find_channel() # 判断mixer是否混合各个声道 pygame.mixer.get_busy() # 获取mixer的SDL版本 pygame.mixer.get_sdl_mixer_version() # 根据文件或者缓冲区创建一个Sound对象 pygame.mixer.Sound() # 创建一个用于控制播放的Channel对象 pygame.mixer.Channel() 

讯享网

创建Sound对象有多个方法。

讯享网pygame.mixer.Sound(filename) pygame.mixer.Sound(file=filename) pygame.mixer.Sound(file=pathlib_path) pygame.mixer.Sound(buffer) pygame.mixer.Sound(buffer=buffer) pygame.mixer.Sound(object) pygame.mixer.Sound(file=object) pygame.mixer.Sound(array=object) 

对于某个Sound对象,pygame中的mixer模块提供了相应的控制方法。


讯享网

# 根据文件或者缓冲区创建一个Sound对象 sound = pygame.mixer.Sound() # 声音的播放,在可用通道上强制选择一个通道进行播放 # 参数loops表示播放后重复的次数,为1表示播放结束后再重复播放一次,为0表示不重复,为-1表示重复无限次 # 参数maxtime表示在给定的时间后停止播放,单位为毫秒,0表示不停止播放 # 参数fade_ms表示声音淡入淡出的时间,单位为毫秒,0表示不进行淡入淡出 sound.play(loops=0, maxtime=0, fade_ms=0) # 声音的停止 sound.stop() # 声音淡出后停止的时间 sound.fadeout(time=2000) # 设置音量,值在0.0-1.0之间浮动 sound.set_volume(value=0.5) # 获取音量 sound.get_volume() # 计算声音播放的次数 sound.get_num_channels() # 获取声音的长度,单位为秒 sound.get_length() # 获取声音的字符串副本 sound.get_raw() 

创建Channel对象,通过

pygame.mixer.Channel(id)
讯享网# 声音在某个通道的播放 channel.play(sound, loops=0, maxtime=0, fade_ms=0) # 声音在某个通道停止播放 channel.stop() # 声音在某个通道上暂停播放 channel.pause() # 声音在某个通道上恢复播放 channel.unpause() # 声音在某个通道淡出后停止的时间 channel.fadeout(time=2000) # 设置某个通道音量,值在0.0-1.0之间浮动 # 如果某个Channel对象和某个Sound对象都通过set_volume(0.5)设置过音量,那么声音在这个通道上播放的音量为0.5*0.5 channel.set_volume(value=0.5) # 获取某个通道的音量 channel.get_volume() # 判断通道是否处于活动状态 channel.get_busy() # 获取当前的声音,返回一个Sound对象 channel.get_sound() # 将另外一个Sound对象送入当前的队列中,当前Sound对象播放完毕后才播放另外一个Sound对象 channel.queue(sound) # 返回待播放的Sound队列 channel.get_queue() # 在播放停止时,向pygame中的事件队列中发送一个时间,可以通过pygame.event.get()获取 channel.set_endevent() # 获取事件的类型 channel.get_endevent() 

也可以通过mixer模块中的music子模块来播放、暂停、停止音乐。

函数 描述
pygame.mixer.music.load 加载音乐文件进行播放
pygame.mixer.music.unload 卸载当前加载的音乐以释放资源
pygame.mixer.music.play 开始播放音乐流
pygame.mixer.music.rewind 重新开始音乐
pygame.mixer.music.stop 停止音乐播放
pygame.mixer.music.pause 暂时停止音乐播放
pygame.mixer.music.unpause 恢复暂停的音乐
pygame.mixer.music.fadeout 淡出后停止音乐播放
pygame.mixer.music.set_volume 设置音乐音量
pygame.mixer.music.get_volume 获取音乐音量
pygame.mixer.music.get_busy 检查音乐流是否正在播放
pygame.mixer.music.set_pos 设置播放位置
pygame.mixer.music.get_pos 获取音乐播放时间
pygame.mixer.music.queue 排队一个声音文件以跟随当前
pygame.mixer.music.set_endevent 让音乐在播放停止时发送事件
pygame.mixer.music.get_endevent 获取播放停止时频道发送的事件
小讯
上一篇 2025-04-10 12:10
下一篇 2025-04-10 16:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40817.html