#encoding = utf8
import logging
from abc import ABC, abstractmethod

logger = logging.getLogger(__name__)


class AudioHandler(ABC):
    def __init__(self, context, handler):
        self._context = context
        self._handler = handler

    @abstractmethod
    def on_handle(self, stream, index):
        pass

    def on_message(self, message):
        if self._handler is not None:
            self._handler.on_message(message)

    @abstractmethod
    def stop(self):
        pass

    def on_next_handle(self, stream, type_):
        if self._handler is not None:
            self._handler.on_handle(stream, type_)
        else:
            logging.info(f'_handler is None')

    def pause_talk(self):
        if self._handler is not None:
            self._handler.pause_talk()
        else:
            logging.info(f'next_pause_talk _handler is None')