为什么尝试使用pygame.mixer.Channel.play(Sound)引发SystemError?

时间:2018-05-19 01:26:56

标签: python pygame system-error

我一直难以让Sound对象在我的程序中播放;我没有收到任何类型的错误消息,音频文件本身没有损坏,但每次我尝试运行我的程序时,我的扬声器都没有声音。我尝试的第一件事是from time import sleep from pygame import mixer ### mixer.init() #initialize mixer module ######### soundObj = mixer.Sound("mySound.wav") #create Sound object from .wav file soundChn = mixer.Channel(0) #create Channel object to play sounds from ### soundChn.play(soundObj, 0) #play soundObj on the channel once - ERROR IS HERE sleep(soundObj.get_length()) #pause program for the duration of soundObj 以播放声音,当我没有听到声音时,我仔细检查以确保我的电脑上的扬声器没有静音,我将音量调高,我又试了一次。我仍然没有听到它播放,所以我尝试使用以下代码示例创建一个Channel对象并告诉程序在该通道上播放声音:

soundChn.play(soundObj, 0)

当我运行我的程序以测试此代码是否有效时,会出现SystemError: Bad call flags in PyCFunction_Call. METH_OLDARGS is no longer supported!的追溯,以及错误消息{{1}}

任何人都可以向我解释 - 请用最简洁的英语解释,因为我很困惑 - 这个错误信息到底意味着什么以及为了解决我的问题需要做些什么?谢谢!

1 个答案:

答案 0 :(得分:1)

您计算机上安装的pygame版本似乎是旧版本,使用了弃用的方法。

因为它似乎在我的计算机上使用Python 2& 3,我建议通过运行

来更新pygame

pip3 install --user pygame # or pip2 if using python2