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 5.04view.py):

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 5.04view.py):

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 O’Reilly online learning.

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