如何为音乐播放器(pygame)实时更改音量

时间:2020-08-14 12:13:21

标签: python tkinter pygame

我正在尝试为音乐播放器实时更改音乐的音量。

我的代码:

"""Volume Input"""
VolumeLevel = tkr.Scale(player,from_=0,to_=1, 
                        orient = tkr.HORIZONTAL, resolution = 0.1)
def change_vol(_=None):
    pygame.mixer.music.set_volume(vol.get())
    vol = Scale(
    sound_box,

    
)

以下是动作事件:

def Play():
    pygame.mixer.music.load(playlist.get(tkr.ACTIVE))
    var.set(playlist.get(tkr.ACTIVE))
    pygame.mixer.music.play()
    pygame.mixer.music.set_volume(VolumeLevel.get())
    print(pygame.mixer.music.get_volume())
    print(VolumeLevel.get())  

但是我不知道如何在播放音乐时更改音量,它只会在我重新启动歌曲后更改音量。

我尝试过:

while pygame.mixer.music.get_busy() is True():
    pygame.mixer.music.set_volume(VolumeLevel.get())

但这没用,只是给我一个错误。

1 个答案:

答案 0 :(得分:0)

如果您不使用OOP(并且我认为您不是根据提供的内容使用OOP),则应该采用以下解决方案:

VolumeLevel = tkr.Scale(player,from_=0,to_=1, 
                        orient = tkr.HORIZONTAL, command=change_vol, resolution = 0.1)
def change_vol(vol, _=None):
    vol *= 100
    pygame.mixer.music.set_volume(vol)