Python Pygame'出现错误;s mixer.Sound.get_音量法
我正在学习Pygame的混音模块,用于处理音乐/sfx,并在尝试设置声音音量时,使用:Python Pygame'出现错误;s mixer.Sound.get_音量法,python,python-3.x,pygame,Python,Python 3.x,Pygame,我正在学习Pygame的混音模块,用于处理音乐/sfx,并在尝试设置声音音量时,使用: 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)作为参数,这是很奇怪的。同样奇怪的是,音乐版本,也就是同样
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)作为参数,这是很奇怪的。同样奇怪的是,音乐版本,也就是同样的线条,只是用“音乐”代替“声音”,效果非常好
我一辈子都搞不清楚问题是什么。似乎
set\u volume()
应该在对象上调用,而不是在类本身上调用
你可能应该写一些类似的东西:
my_sound=pygame.mixer.sound('sound.wav'))
我的声音。设置音量(0.0)
有关可能的有效参数,请参阅的文档。这似乎确实有效。但它与我现在的通用、通用结构相冲突。并不是说它不能返工。尽管如此,它仍然不能解释为什么它能与音乐一起工作,只是不能解释我以前使用的方式时的声音。@Xenko,我认为这正是PyGame开发者设计它的方式。请注意,
pygame.mixer.music
带有小写的m
,因为它是一个模块,pygame.mixer.Sound
带有大写的s
,因为它是一个类。这遵循常见的Python风格惯例。也可以直接设置混音器频道的音量,而不是声音。裁判: