如果按下按钮,我想更改sonid频率。我使用Pygame,特别是混音器模块。当我第一次设定频率时,我无法重新设定。我已经阅读了Pygame的文档,并且存在pre_init()
方法,这设置了音乐播放之前的频率。现在我有这个:
def play_full(self, frequency=22050):
"""Play if a button is pressed"""
pygame.mixer.pre_init(frequency=frequency)
pygame.mixer.init()
pygame.mixer.music.load(os.path.join(os.path.dirname(__file__), "../music/hi.mp3"))
pygame.mixer.music.play()
但是当我将参数发送到函数时,频率不会改变。如何根据按下的按钮改变频率?,是否有一些例子?顺便说一句,我使用PyQt4进行GUI。
答案 0 :(得分:0)
在pygame.mixer.init()中,您需要设置频率大小和通道, 在您的情况下,您将编写如下代码:
import pygame.mixer
def play_full(self, my_frequency):
pygame.mixer.init(my_frequency, size=-16, channels=2)
pygame.mixer.music.load('YOUR_FILE_DIRECTORY_GO_HERE')
pygame.mixer.music.play()
这样,您可以为要执行的操作设置频率。