如何在pygame中同时播放多个声音?

2024-09-30 14:30:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有总是在后台运行的音乐和一些触发时会播放声音的活动。这音乐很好听

pygame.mixer.music.load(os.path.join(SOUND_FOLDER, 'WateryGrave.ogg'))

我的问题是,当有两个或更多的活动触发声音时,只会播放一个(不包括背景音乐),其余的都会静音。有什么解决办法吗


Tags: path声音音乐osmusicloadfolderpygame
1条回答
网友
1楼 · 发布于 2024-09-30 14:30:39

您可以使用混音器将声音添加到不同的频道:

pygame.mixer.Channel(0).play(pygame.mixer.Sound('sound\gun_fire.wav'))
pygame.mixer.Channel(1).play(pygame.mixer.Sound('sound\enemy_hit.wav'))

在每个频道中,您仍然一次只能播放一个声音,但是如果需要同时播放,您可以将声音分组到不同的频道中

您可以像这样添加更多频道:

pygame.mixer.set_num_channels(10)  # default is 8

一个简单的例子。有关频道上的文档,请转到:

https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.Channel

相关问题 更多 >