首页 > 解决方案 > Pygame 的 Mixer.Sound.get_volume 方法出错

问题描述

我正在学习 Pygame 的混音器模块,用于处理音乐/音效,并在尝试设置声音的音量时,使用:

from pygame import mixer

mixer.Sound.set_volume(0.0)

它给了我这个错误:

TypeError: descriptor 'set_volume' for 'Sound' objects doesn't apply to a 'float' object

考虑到文件说它只接受浮点数(从 0.0 到 1.0)作为参数,这很奇怪。考虑到音乐版本也很奇怪,它是同一行,只是用“音乐”代替“声音”,效果很好。

我一生都无法弄清楚问题所在。

标签: pythonpython-3.xpygame

解决方案


似乎set_volume()应该在对象上调用,而不是在类本身上调用。

您可能应该编写如下内容:

my_sound = pygame.mixer.Sound('sound.wav')
my_sound.set_volume(0.0)

有关可能的有效参数,请参阅pygame.mixer.Sound()的文档。


推荐阅读