首页 > 解决方案 > 连续按4次后几秒不播放音效?

问题描述

如果连续四次按下相应的按钮(播放音效),Pygame 音效不会播放几秒钟。我目前正在尝试使用钢琴的不同键。

我试过删除 pygame 时钟对象。我已经尝试将 Sound.play() 变成一个函数,如代码中所示。

import pygame
pygame.init()

###LordKeys###

A5 = pygame.mixer.Sound('PianoKeys/A5.wav')
A6 = pygame.mixer.Sound('PianoKeys/A6.wav')


def A56():
    A5.play()
    A6.play()

###############################################
run = True
win = pygame.display.set_mode((700,700))
pygame.display.set_caption("Piano Gen")
while run:
    win.fill((255,255,255))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                A56()

    pygame.display.update()

预期结果:按键时播放的音效,与频率无关。

标签: pythonpygamepython-3.7mixer

解决方案


所以我决定在一个频道上播放声音,这解决了问题!

def A56():
    channel1.play(A5)
    channel1.play(A6)

推荐阅读