[英]Loading audio using pygame.mixer
我使用了以前的堆栈溢出文章来帮助我开发以下代码:
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,并且在使用媒体播放器加载时,音乐文件确实在计算机上播放。
谢谢!
首先,您可以尝试将音频文件加载为pygame.mixer.Sound
并使用SoundName.play()
来检查它是否没有被mixer.load()
损坏(如果仍然发生),则可能是音频文件有问题,请使用通用且最新的格式(如.ogg),使其适用于所有平台
同样,由于sleep停止所有功能,因此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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.