| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- '''
- Author: zhaoyong 77912776@qq.com
- Date: 2025-08-23 14:34:11
- LastEditTime: 2025-08-27 15:06:43
- LastEditors: zhaoyong 77912776@qq.com
- FilePath: \robot_ai\handlers\speech_handler.py
- Description: 头部注释配置模板
- '''
- """
- 语音识别处理模块 - 工厂类
- """
- from utils.logger import logger
- from utils.load_config import load_config
- from handlers.baidu.speech_handler import BaiduSpeechHandler
- from handlers.xunfei.speech_handler import XunfeiSpeechHandler
- class SpeechHandlerFactory:
- """语音识别处理器工厂类"""
- @staticmethod
- def create_handler():
- """
- 根据配置创建相应的语音识别处理器
- Returns:
- BaiduSpeechHandler or XunfeiSpeechHandler: 语音识别处理器实例
- """
- try:
- # 加载配置
- config = load_config()
- speech_config = config.get('speech_recognition', {})
- service_type = speech_config.get('service', 'xunfei_aiui')
- logger.info(f"创建语音识别处理器,服务类型: {service_type}")
- if service_type == 'baidu_realtime':
- return BaiduSpeechHandler()
- elif service_type == 'xunfei_aiui':
- return XunfeiSpeechHandler()
- else:
- logger.error(f"不支持的语音识别服务类型: {service_type}")
- raise ValueError(f"不支持的语音识别服务类型: {service_type}")
- except Exception as e:
- logger.error(f"创建语音识别处理器失败: {e}")
- raise
- # 为了保持向后兼容,保留原有的SpeechHandler类名
- class SpeechHandler:
- """语音识别处理类 - 兼容性包装器"""
- def __init__(self):
- self.handler = SpeechHandlerFactory.create_handler()
- def __getattr__(self, name):
- """代理所有方法调用到实际的处理器"""
- return getattr(self.handler, name)
|