run_example.py 2.51 KB
#!/usr/bin/env python3
# AIfeng/2025-07-11 14:27:00
"""
豆包ASR示例运行脚本
独立运行脚本,解决相对导入问题
"""

import sys
import os
from pathlib import Path

# 添加项目根目录到Python路径
project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))

# 添加ASR模块路径
asr_path = project_root / 'asr' / 'doubao'
sys.path.insert(0, str(asr_path))

def main():
    """
    主函数
    """
    print("=== 豆包ASR语音识别服务示例 ===")
    print("正在启动示例...")
    
    try:
        # 检查环境变量
        app_key = "1549099156"
        access_key = "0GcKVco6j09bThrIgQWTWa3g1nA91_9C"
        
        if not app_key or not access_key:
            print("⚠️  警告: 缺少环境变量")
            print("请设置以下环境变量:")
            print("  DOUBAO_APP_KEY=your_app_key")
            print("  DOUBAO_ACCESS_KEY=your_access_key")
            print()
            print("或者在代码中直接设置密钥")
            print()
            
            # 提供测试模式
            response = input("是否继续运行测试模式? (y/N): ")
            if response.lower() != 'y':
                print("退出程序")
                return
                
            app_key = "1549099156"
            access_key = "0GcKVco6j09bThrIgQWTWa3g1nA91_9C"
            print("使用测试密钥运行...")
        
        # 设置环境变量
        os.environ['DOUBAO_APP_KEY'] = app_key
        os.environ['DOUBAO_ACCESS_KEY'] = access_key
        
        # 导入并运行示例
        try:
            from asr.doubao.example import run_all_examples
            import asyncio
            import traceback
            
            # 运行异步示例
            asyncio.run(run_all_examples())
            
        except ImportError as e:
            print(f"❌ 导入错误: {e}")
            print("请确保ASR模块已正确安装")
            return
        except Exception as e:
            print(f"❌ 运行时错误: {e}")
            print("详细错误信息:")
            traceback.print_exc()
            return
            
    except KeyboardInterrupt:
        print("\n用户中断执行")
    except Exception as e:
        print(f"❌ 执行失败: {e}")
        print("\n故障排除建议:")
        print("1. 检查环境变量是否正确设置")
        print("2. 确保音频文件存在且格式正确")
        print("3. 检查网络连接")
        print("4. 验证API密钥是否有效")

if __name__ == '__main__':
    main()