pygame 的声音播放,


pygame 的声音播放

1. sound 对象

在初始化声音设备后就可以读取一个音乐文件到一个 Sound 对象中。pygame.mixer.sound() 接收一个文件名,也可以是一个文件对象,不过这个文件对象必须是 WAV 或者 OGG 文件。

hello_sound = pygame.mixer.sound("hello.ogg")		# 建立 Sound 对象
hello_sound.play()					# 声音播放一次

一旦这个 Sound 对象出来了,就可以使用 play() 来播放它。play(loop, maxtime) 可以接收两个参数,loop 是重复的次数(取1是两次,注意是重复的次数,而不是播放的次数),-1 意味着无限循环;maxtime 是指多少毫秒后结束。

若不使用任何参数调用,意味着把这个声音播放一次。一旦 play() 方法调用成功,就会返回一个 Channel 对象,否则返回一个 None。


2. music 对象

pygame 中还提供了 pygame.mixer.music 类来控制背景音乐的播放。pygame.mixer.music 用来播放 MP3 和 OGG 文件,不过 MP3 并不是所有的系统都支持(Linux 默认就不支持 MP3 播放)。用户可以用 pygame.mixer.music.load() 加载一个文件,然后使用 pygame.mixer.music.play() 播放,不放的时候就用 stop() 方法停止,当然也有类似录影机上的 pause() 和 unpause() 方法。

# 加载背景音乐
pygame.mixer.music.load("hello.mp3")
pygame.mixer.music.set_volume(music_volume / 100.0)
# 循环播放,从音乐的第30秒开始
pygame.mixer.music.play(-1, 30.0)

在游戏退出事件中加入停止音乐播放的代码:

# 停止音乐播放
pygame.mixer.music.stop()

music 对象提供了丰富的函数方法,下面分别介绍:

相关内容

    暂无相关文章

评论关闭