我一直难以让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}}
任何人都可以向我解释 - 请用最简洁的英语解释,因为我很困惑 - 这个错误信息到底意味着什么以及为了解决我的问题需要做些什么?谢谢!
答案 0 :(得分:1)
您计算机上安装的pygame版本似乎是旧版本,使用了弃用的方法。
因为它似乎在我的计算机上使用Python 2& 3,我建议通过运行
来更新pygame pip3 install --user pygame # or pip2 if using python2