我的音乐总是在后台运行,而某些活动会在触发时发出声音。音乐很好用。
pygame.mixer.music.load(os.path.join(SOUND_FOLDER, 'WateryGrave.ogg'))
我遇到的问题是,当有2个或更多活动触发声音时,只会播放一个(不包括背景音乐),其余的都被静音。这有什么解决方案吗?
答案 0 :(得分:3)
您可以使用调音台将声音添加到不同的声道:
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