pygame无法播放音乐

时间:2019-03-17 18:57:02

标签: python pygame

我需要你的帮助。 (但首先,我不是英国人,所以我的词汇可能有点愚蠢,我很抱歉)

因此,我想创建一个非常简单的应用程序,当您按空格键时会启动一首歌曲,但是当我启动该应用程序并按空格键时,我只是听到“ pop”的声音,而且什么也没有开始。没有音乐。

代码如下:

import pygame
from pygame.locals import *

pygame.init()
backimage = pygame.display.set_mode((395, 702), RESIZABLE)
fond = pygame.image.load("background.jpg").convert()
backimage.blit(fond, (0,0))
pygame.display.flip()
pygame.mixer.pre_init(42000,-16,1,2048)
pygame.mixer.init()
musik = pygame.mixer.Sound(b'musik.wav')

continuer = 1
while continuer == 1:
    for event in pygame.event.get():
        if event.type == QUIT:
            continuer = 0

    for event in pygame.event.get():
        if event.type == KEYDOWN and event.key == K_SPACE:
            musik.play()

如果您需要任何说明,我在这里。 我到处搜索过,却找不到任何可以帮助我的东西。

很抱歉,如果这个问题没有得到正确回答,这是我的第一个话题,所以我真的不知道它是如何工作的。

感谢您的帮助,祝您愉快。

谢尔盖

3 个答案:

答案 0 :(得分:1)

好,非常感谢你们!现在,它可以完美运行。 如果有人和我有同样的问题,这是最终的代码:

import pygame

from pygame.locals import *

pygame.init()

backimage = pygame.display.set_mode((395, 702), RESIZABLE)
fond = pygame.image.load("background.jpg").convert()
backimage.blit(fond, (0,0))
pygame.display.flip()
pygame.mixer.init()
pygame.mixer.music.load(b'musik.mp3')
pygame.event.clear()

while True:

    event = pygame.event.wait()

    if event.type == QUIT:
        pygame.quit()
        sys.exit()

    elif event.type == KEYDOWN and event.key == K_SPACE:
        pygame.mixer.music.play()

    elif event.type == KEYUP and event.key == K_SPACE:
        pygame.mixer.music.stop()

再见,祝你愉快!

谢尔盖

答案 1 :(得分:0)

我不知道为什么代码不起作用,但是如果您使用mp3文件,我知道它确实起作用。试试这个:

{metadata:
   {validStart: "2014-04-03T10:00:00",
    validEnd: "9999-12-31T11:59:59Z"}
};

如果要使用.wav文件,可以在线找到.wav到.mp3

答案 2 :(得分:0)

我认为您误解了pygame.event的用法。您应该尝试使用pygame.event.wait()

pygame.event.clear()
while True:
    // wait until new event happens - blocking instruction
    event = pygame.event.wait()
    if event.type == QUIT:
        pygame.quit()
        sys.exit()
    elif event.type == KEYDOWN and event.key = K_SPACE:
        musik.play()

最佳