iot-logic/src/actuator/loudspeaker.py

33 lines
822 B
Python

#!/usr/bin/env python3
import random
import os
import os.path
from .abcactuator import AbcActuator
from birbnetes_iot_platform_raspberry import BirbnetesIoTPlatformPlaybackDriver
"""
Abstract base class for Sender
"""
__author__ = "@marcsello"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "loudspeaker"
__version__text__ = "1"
class Loudspeaker(AbcActuator):
"""
A class that plays back various sounds.
"""
def __init__(self, sound_dir: str):
BirbnetesIoTPlatformPlaybackDriver.init()
self._sound_dir = sound_dir
def act(self):
choice = random.choice(os.listdir(self._sound_dir))
BirbnetesIoTPlatformPlaybackDriver.play_audio(os.path.join(self._sound_dir, choice))
def __del__(self):
BirbnetesIoTPlatformPlaybackDriver.cleanup()