相互叠加播放音乐和音效(PyGame)

2024-09-27 07:34:47 发布

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

我想知道是否可以使用pygame混音器在不同的声音上播放声音。例如,我会播放安静的背景音乐,然后发生一些事情,然后在顶部播放另一个声音。目前我用这个作为背景音乐:

pygame.mixer.init()
pygame.mixer.music.load("Audio Assets//bob.wav")
pygame.mixer.music.play()

但是如果我用一种方法播放另一种声音,背景音乐就会完全停止,不再重新开始。能不能同时播放两个声音?在

编辑:我现在想知道如何在Tkinter中播放节目和图像时播放声音,以下是我显示图像的代码:

^{pr2}$

如你所见,图像在2秒后被显示并销毁。我怎样才能在那几秒钟内使用频道和混音器播放音频?在

编辑2:非常简单,我只是把pygame.mixer.Channel(0).play(pygame.mixer.Sound('sound\gun_fire.wav'), maxtime=600)放在方法的末尾,它会随着图像的显示而播放。在


Tags: 方法图像声音编辑playinitmusicload
1条回答
网友
1楼 · 发布于 2024-09-27 07:34:47

为了在音乐上播放音效(或在其他音效上播放音效),您可以使用频道。例如:

# initialize
pygame.mixer.pre_init()
pygame.mixer.init()
pygame.init()

# start playing the background music
pygame.mixer.music.load(os.path.join(os.getcwd(), 'sound', 'main_theme.wav'))
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(loops=-1)  # loop forever

然后在后面的代码中,您可以通过以下通道播放音效:

^{pr2}$

有关Channels的详细信息

如果要设置单个频道的音量,可以使用set_volume()函数:

channel.set_volume(0.5)  # play at 50% volume

相关问题 更多 >

    热门问题