1. 不要主动运行程序, 如flutter run 2. 不要改动android, iOS项目的配置信息,包括SDK, NDK版本等 3. 不要使用print, 而是使用logger 4. 尽可能使用GetX提供的各种功能, 而不是使用原生的StatefulWidget 5. 不要增加重试逻辑,出现失败直接返回错误 6. 尽可能避免使用try catch 7. 尽可能避免打印日志,仅在出错时记录日志 8. 请使用较小的代码量改动,最安全的方法进行代码编写和优化 9. 请尽可能使用中文回复问题 10. 重要:不要过度设计!! 11. 本项目使用 Kotlin DSL 进行开发 # 项目架构概述 DeepSound是一个基于Flutter和GetX构建的多平台语音应用,具有语音合成、语音识别、语音聊天等功能。 ## 总体架构 - 采用GetX状态管理框架 - 遵循模块化设计,各功能模块相对独立 - 使用依赖注入实现组件解耦 - 多语言支持,使用GetX国际化方案 ## 主要目录结构 - lib/core: 核心组件、工具和通用功能 - lib/data: 数据模型、服务和提供者 - lib/modules: 功能模块,按业务划分 - lib/routes: 路由定义和管理 - local_plugins: 本地插件,提供原生功能支持 # 核心模块说明 ## 语音处理 - 火山语音服务: 提供语音识别和合成核心能力 - Azure语音服务: 提供备选的语音识别和合成能力 - 离线TTS支持: 在线语音合成失败时的备选方案 ## 聊天功能 - 基于OpenAI的对话功能 - 支持语音输入、文字输入和语音输出 - 支持多种角色和语音类型 ## 用户系统 - 支持多种登录方式:Firebase、Google、Facebook - 用户资料管理和设置 - 主题切换和语言设置 ## 蓝牙配对 - 支持蓝牙设备发现和连接 - 提供简化的配对流程 - 设备管理和状态监控 ## 音频处理 - 音频录制和播放 - 支持波形显示 - 音量控制和音频质量设置 # 技术栈 - Flutter: UI框架 - GetX: 状态管理和依赖注入 - Firebase: 用户认证和后端服务 - WebSocket: 实时通信 - SQLite: 本地数据存储 - 原生插件: 语音识别、合成和蓝牙功能 # 插件说明 - jieli: 杰理蓝牙设备连接和控制插件 - volcano_speech: 火山语音服务插件,提供语音识别和合成 - azure_speech: 微软Azure语音服务插件 - open_ai_service: OpenAI服务插件,提供AI对话能力 - speech_to_text: 通用语音识别插件 # 环境配置 - 环境变量通过.env文件管理 - 支持不同环境的配置切换 - 敏感信息不应直接硬编码在代码中