python pygame如何在音量中淡出?

python pygame如何在音量中淡出?,python,raspberry-pi,pygame,Python,Raspberry Pi,Pygame,当歌曲加载时,我无法找到音量衰减的方法,这意味着让歌曲的音量缓慢增加,直到达到最大音量,而不是从一开始就将其完全音量衰减。怎么做 另一个问题是,我必须声明 song = "choy_san_dou.ogg" pygame.init() pygame.display.set_mode((200,100)) pygame.mixer.init() pygame.mixer.music.load(song) pygame.mixer.music.set_volume(0.1) pygame.mixer

当歌曲加载时,我无法找到音量衰减的方法,这意味着让歌曲的音量缓慢增加,直到达到最大音量,而不是从一开始就将其完全音量衰减。怎么做

另一个问题是,我必须声明

song = "choy_san_dou.ogg"
pygame.init()
pygame.display.set_mode((200,100))
pygame.mixer.init()
pygame.mixer.music.load(song)
pygame.mixer.music.set_volume(0.1)
pygame.mixer.music.play(0)

否则声音就不响了。程序实际上正在运行,因为声音时间过后,程序中的后续步骤将继续。为什么是这样?我正在windows pc上测试它,打算稍后将其传输到raspberry pi。

pygame.mixer模块有一个声音类(doc:),该类将文件名作为输入,并将文件内容转换为声音对象。声音对象有一个方法play(),您可以在其中指定声音淡入的时间量(您可能希望使其比声音的实际长度短得多)。我建议您阅读文档,了解pygame.mixer的工作原理。如果您想更改声音对象,例如添加淡入或淡出,有pygame.sndarray模块可以将声音对象转换为numpy数组,反之亦然,不过您需要使用numpy或scipy来处理该数组(我推荐免费的Anaconda包)。

音乐和混音器模块之间的区别在于,音乐模块将数据流传输到播放,而混音器模块处理保存到主存的数据。

Hi@LPK,这不是我想要的,恰恰相反。淡入。@sam:看来你可以使用play函数的选项了。你在寻找这个:?@HoángLong,我想这就是我正在寻找的,但我不太理解这里给出的例子,因为我对编程非常陌生。介意在代码中解释并演示如何操作吗?为什么需要在类中定义?对不起,我也是pygame新手。我不明白你的问题。这是什么课?上述问题的答案清楚地给出了播放(循环=0,最大时间=0,淡入度=0)。您只需要指定淡入度,它应该可以工作。。。请注意,它使用声音,而不是音乐。如果您看到他们在中使用它的方式,您将看到它将在程序的一开始指定类。即使您参考了,您也会看到以下内容:类pygame.mixer.Sound。但是经过一些尝试和错误,themesong=pygame.mixer.Sound(song)themesong.play(loops=0,maxtime=0,fade\ms=10000)能够做到这一点。只是我不完全理解背后的原因。使用声音和音乐有什么区别?
pygame.display.set_mode((200,100))