![](/img/trans.png)
[英]python pygame mixer cant open wav file error on mac and pygame is not defined
[英]Pygame error: not able to open .wav file
我的 Pygame 程序有问题。 我需要帮助。 wav 文件与 python 文件在同一目录中。 我在终端 Python3 中运行它:
import pygame.mixer
sounds = pygame.mixer
sounds.init()
def wait_finish(channel):
while channel.get_busy():
pass
asked = 0
true = 0
false = 0
choice = str(input("Push 1 for true, 2 for false, 0 to end"))
while choice != '0':
if choice == '1':
asked = asked + 1
true = true + 1
s = sounds.Sound("correct.wav")
wait_finish(s.play())
if choice == '2':
asked = asked + 1
false = false + 1
s = sounds.Sound("wrong.wav")
wait_finish(s.play())
choice = str(input("Push 1 for true, 2 for false, 0 to end"))
print ("you asked" +str(asked) + "questions")
print ("there were" +str(false) + "wrong answers")
print ("and" + str(true) + "correct answers")
它抛出 - pygame.error:
无法打开文件“correct.wav”
我遇到了同样的问题,无法使此代码正常工作:
correctSound = pygame.mixer.Sound('jingle3.wav')
我收到 pygame 错误:
无法打开文件“jingle3.wav”
通过将“jingle3.wav”加载到 Audicity 并将其从 32 位 PCM 更改为 16 位 PCM .wav 文件解决了该问题。 之后 pygame.mixer.Sound 完美运行。
我在这个论坛上得到了这个提示,它奏效了!
而不是在评论部分进行讨论,我会发布这个。
一旦def wait_finish(channnel):
已更改为def wait_finish(channel):
并且sounds.Sound
而不是sounds.Sounds
问题已经解决,程序就可以在我的机器上正常使用普通的.wav 文件。
我确信 Sound 或 Sounds 调用了要播放的错误.wav 文件的错误会解释“无法打开文件错误.wav”的消息。
如果 pygame 不喜欢该文件的某些内容,它很可能不会播放它,这是如下一行:
sounds.pre_init(frequency=22050, size=-16, channels=2, buffer=4096)
(在sounds.init()
之前sounds.init()
)可能会发挥作用。
(注意,您可能必须使用不同的缓冲区选项,因为我正在使用 pygame for python 2.7 进行测试)
在我的盒子上,如果 pygame 不喜欢或找不到该文件,我根本不会收到任何错误,但是在调用播放时扬声器会发出咔哒声。
在这一点上,我只能建议您尝试使用与当前正在使用的完全不同的 wav 文件来获取错误答案,看看它是否有所作为。 只是为了记录,我将您的 wait_finish 函数更改为:
def wait_finish(channel):
while channel.get_busy():
pygame.time.Clock().tick(10)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.