#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 pause_handle(self):
    #     if self._handler is not None:
    #         self._handler.pause_handle()
    #     else:
    #         logging.info(f'_handler is None')

    @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):
        pass