I am trying to change the volume of my music in realtime for my music player.
My code:
"""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,
)
And here are the action events:
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())
But I don’t know how to change the volume while the music is playing, it only changes the volume after I restart the song.
I tried:
while pygame.mixer.music.get_busy() is True():
pygame.mixer.music.set_volume(VolumeLevel.get())
But that didn’t work it just game me an error.
Advertisement
Answer
If you don’t use OOP(and I dont think you do based on what you provided), this should be the solution:
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)