繁体   English   中英

使用pygame.mixer加载音频

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM