Speaker controller
Let's write a Python class (tone_player.py
in downloads
) that plays a musical tone indicating that the boot-up of your Raspberry Pi is complete. For this section, you will need a USB sound card and a speaker interfaced to the USB hub of the Raspberry Pi.
Let's call our class TonePlayer
. This class should be capable of controlling the speaker volume and playing any file passed as an argument while creating an object:
class TonePlayer(object): """A Python class to play boot-up complete tone""" def __init__(self, file_name): self.file_name = file_name
In this case, the file that has to be played by the TonePlayer
class has to be passed an argument. For example:
tone_player = TonePlayer("/home/pi/tone.wav")
We also need to be able to set the volume level at which the tone has to be played. Let's add a method to do the same:
def set_volume(self, value): """set tone sound volume""" subprocess.Popen(["amixer", "set", "'PCM'", str(value)], shell...