2024-10-17 23:15:34 +00:00
|
|
|
#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
|
|
|
|
|
2024-10-25 00:23:55 +00:00
|
|
|
def on_message(self, message):
|
2024-10-24 00:53:11 +00:00
|
|
|
if self._handler is not None:
|
2024-10-25 00:23:55 +00:00
|
|
|
self._handler.on_message(message)
|
|
|
|
|
2024-10-17 23:15:34 +00:00
|
|
|
@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')
|
2024-10-19 10:47:34 +00:00
|
|
|
|
|
|
|
def pause_talk(self):
|
2024-12-08 05:04:14 +00:00
|
|
|
if self._handler is not None:
|
|
|
|
self._handler.pause_talk()
|
|
|
|
else:
|
|
|
|
logging.info(f'next_pause_talk _handler is None')
|
|
|
|
|