我使用了之前的堆栈溢出帖子来帮助我开发以下代码:
import os
import pygame
from pygame import *
import sys
GAME_FOLDER = os.path.dirname(__file__)
IMG_FOLDER = os.path.join(GAME_FOLDER, "img")
from time import sleep
pygame.mixer.init()
pygame.mixer.music.load(os.path.join(IMG_FOLDER, 'Noota.mp3'))
print("p")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
sleep(1)
print ("done")
虽然代码加载时没有显示错误消息,但它不播放音乐;相反,我所听到的只是一个“滴答作响”。噪音(每秒约一蜱)。我想知道是否有人知道为什么会这样,以及我如何解决它。
作为参考,我在mackintosh计算机上使用python 3,当使用媒体播放器加载时,音乐文件在计算机上播放。
谢谢!
答案 0 :(得分:0)
首先,您可以尝试将音频文件作为pygame.mixer.Sound
加载,然后使用SoundName.play()
检查其中mixer.load()
是否已损坏
如果它仍然发生,那么它可能是音频文件的问题,请使用像.ogg这样的通用和最新格式,以便它适用于所有平台
此外,time.sleep()
可能会弄乱声音,因为睡眠会停止每个功能,在这种情况下可能是声音。
下面是一个例子,如果你正在尝试声音方法:
import os
import pygame
from pygame import *
import sys
GAME_FOLDER = os.path.dirname(__file__)
IMG_FOLDER = os.path.join(GAME_FOLDER, "img")
from time import sleep
noota = pygame.mixer.sound(os.path.join(IMG_FOLDER, 'Noota.mp3'))
print("p")
noota.play()
# Maybe the music is being cut off here v
while pygame.mixer.music.get_busy():
sleep(1)
print ("done")