Adding the mute/unmute function

This is similar to coding the pause/unpause feature. We need an attribute that can toggle between the mute and unmute strings. Accordingly, add an attribute, as follows (see code

toggle_mute_unmute = itertools.cycle(["mute","unmute"]) 

Then, modify the command callback to call the mute or unmute functions from the player class, change the button icon to the mute or unmute image, and shift the volume scale accordingly, as follows (see code

def on_mute_unmute_button_clicked(self):  action = next(self.toggle_mute_unmute)  if action == 'mute':    self.volume_at_time_of_mute = self.player.volume    self.player.mute()    self.volume_scale.set(0) self.mute_unmute_button.config(image=self.mute_icon) ...

Get Tkinter GUI Application Development Blueprints - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.