33 lines
822 B
Python
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()
|