Files
ai_chat_assistant/example
guangfei.zhao c29a3f665a fix: 修复asr 启动就初始化的问题
asrInstance.initialize 这个方法的作用是初始化阿里云 NUI SDK 的 ASR 实例。根据阿里云 SDK 的设计,这个初始化过程不仅仅是加载配置,它还会立即建立与云端的长连接(WebSocket),并进入一个“待命”状态。SDK 会请求打开音频设备。

延迟初始化,只在第一次需要时才进行初始化
2025-09-30 11:43:40 +08:00
..
2025-09-23 10:58:47 +08:00

AI Chat Assistant Example

这是 AI Chat Assistant Flutter 插件的示例应用,展示了如何集成和使用 AI 聊天助手功能。

🚀 快速开始

1. 安装依赖

cd example
flutter pub get

2. 运行应用

flutter run

📱 示例功能

车控命令处理器示例

本示例展示了如何实现自定义的车控命令处理器:

class VehicleCommandClent extends VehicleCommandHandler {
  @override
  Future<(bool, Map<String, dynamic>?)> executeCommand(VehicleCommand command) async {
    // 在这里实现具体的车控命令执行逻辑
    print('执行车控命令: ${command.type}, 参数: ${command.params}');

    // 更新命令状态为执行中
    commandCubit?.emit(AIChatCommandState(
      commandId: command.commandId,
      commandType: command.type,
      params: command.params,
      status: AIChatCommandStatus.executing,
      timestamp: DateTime.now(),
    ));

    // 模拟命令执行
    await Future.delayed(const Duration(seconds: 2));

    // 更新命令状态为成功
    commandCubit?.emit(AIChatCommandState(
      commandId: command.commandId,
      commandType: command.type,
      params: command.params,
      status: AIChatCommandStatus.success,
      timestamp: DateTime.now(),
      result: {'message': '命令执行成功'},
    ));

    return (true, {'message': '命令已执行'});
  }
}

初始化示例

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 请求麦克风权限
  if (!await Permission.microphone.isGranted) {
    await Permission.microphone.request();
  }

  // 初始化 AI Chat Assistant注册车控命令处理器
  AIChatAssistantManager.instance.setupCommandHandle(
    commandHandler: VehicleCommandClent()
  );

  runApp(const MyApp());
}

🎯 示例特性

  • 完整的车控命令处理示例
  • 权限管理示例
  • 状态管理集成
  • AI 聊天界面集成
  • 语音识别功能
  • TTS 语音播报

📖 了解更多

  • 查看主项目 README 了解完整的功能特性
  • 查看 API 文档 了解接口使用方法