Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pygame'出现错误;s mixer.Sound.get_音量法_Python_Python 3.x_Pygame - Fatal编程技术网

Python Pygame'出现错误;s mixer.Sound.get_音量法

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)作为参数,这是很奇怪的。同样奇怪的是,音乐版本,也就是同样

我正在学习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)作为参数,这是很奇怪的。同样奇怪的是,音乐版本,也就是同样的线条,只是用“音乐”代替“声音”,效果非常好


我一辈子都搞不清楚问题是什么。

似乎
set\u volume()
应该在对象上调用,而不是在类本身上调用

你可能应该写一些类似的东西:

my_sound=pygame.mixer.sound('sound.wav'))
我的声音。设置音量(0.0)

有关可能的有效参数,请参阅的文档。

这似乎确实有效。但它与我现在的通用、通用结构相冲突。并不是说它不能返工。尽管如此,它仍然不能解释为什么它能与音乐一起工作,只是不能解释我以前使用的方式时的声音。@Xenko,我认为这正是PyGame开发者设计它的方式。请注意,
pygame.mixer.music
带有小写的
m
,因为它是一个模块,
pygame.mixer.Sound
带有大写的
s
,因为它是一个类。这遵循常见的Python风格惯例。也可以直接设置混音器
频道的音量,而不是声音。裁判: