Flutter

最近更新时间:2026-06-25 18:00:14

我的收藏
TUIRoomKit 集成 AI 会议助手功能,为在线会议提供 AI 智能辅助。开启后,用户可通过界面按钮使用以下核心功能:
AI 实时字幕:在会议进行中,实时将语音讨论内容转化为文字字幕并显示在屏幕上,辅助沟通与理解。
AI 实时翻译:开启 AI 实时字幕后,默认同步开启实时翻译功能。房主可设置翻译语言,具体支持的语言请参考语言列表
AI 实时会议记录:在会议进行中,持续将语音讨论内容转录为文本记录,便于会后整理与回顾。


前提条件

1. 购买 AI 转录套餐

实现 AI 功能前,需确保账号下有可用的 AI 智能语音时长包
说明:
初次使用建议先订阅体验版(免费)测试功能,正式使用时根据估算结果在 购买页面 选择合适套餐。

2. 基础环境集成

请参考 快速接入TUIRoomKit 集成到项目中,确保版本 ≥ 4.1.0

启用 AI 实时字幕

AI 字幕 UI 组件代码在 TUIRoomKit 开源代码的 ai_transcription 目录下的 subtitle 中。TUIRoomKit 标准房间(Standard)模式下默认支持 AI 实时字幕功能,仅需在标准房间内点击底部 AI 工具后选择开启 AI 实时字幕功能, 即可在房间内看到 AI 字幕。
import 'package:flutter/material.dart';
import 'package:tencent_conference_uikit/widget/main/ai_transcription/subtitle/ai_subtitle_widget.dart';
import 'package:tencent_conference_uikit/widget/main/ai_transcription/repository/ai_transcriber_repository.dart';

class RoomMainWidget extends StatefulWidget {
final String roomID;
const RoomMainWidget({super.key, required this.roomID});

@override
State<RoomMainWidget> createState() => _RoomMainWidgetState();
}


class _RoomMainWidgetState extends State<RoomMainWidget> {
late AITranscriberRepository _repository;
final ValueNotifier<bool> _visible = ValueNotifier(false);


@override
void initState() {
super.initState();
_repository = AITranscriberRepository(roomID: widget.roomID);
}


@override
Widget build(BuildContext context) {
return Column(
children: [
const Expanded(child: SizedBox()),
ValueListenableBuilder<bool>(
valueListenable: _visible,
builder: (context, isVisible, _) {
if (!isVisible) return const SizedBox.shrink();
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
child: AISubtitleWidget(repository: _repository),
);
},
),
],
);
}
void show() {
_visible.value = true;
_repository.startTranscription();
}
}
说明:
AI 实时字幕功能,仅支持房主开启,当房主退出房间或者转移房主时,AI 字幕功能会停止。

关闭 AI 实时字幕

使用 AI 实时字幕 组件时,开发者无需手动关闭 AI 转录任务。组件内部已实现自动清理机制:
退出房间时:自动停止 AI 转录任务。
资源释放:自动清理相关内存资源。

查看 AI 实时会议记录

AI 实时记录 UI 组件代码在 TUIRoomKit 开源代码的 ai_transcription 目录下的 minutes 中。查看 AI 实时会议记录的前置条件:需预先房主开启 AI 实时字幕功能。功能启用后,可通过界面底部 AI 工具入口,查看实时会议记录。
import 'package:flutter/material.dart';
import 'package:tencent_conference_uikit/widget/main/ai_transcription/minutes/ai_minutes_page_widget.dart';
import 'package:tencent_conference_uikit/widget/main/ai_transcription/repository/ai_transcriber_repository.dart';

class RoomMainWidget extends StatefulWidget {
final String roomID;
const RoomMainWidget({super.key, required this.roomID});

@override
State<RoomMainWidget> createState() => _RoomMainWidgetState();
}

class _RoomMainWidgetState extends State<RoomMainWidget> {
late AITranscriberRepository _repository;

@override
void initState() {
super.initState();
_repository = AITranscriberRepository(roomID: widget.roomID);
}

void showAIMinutesView() {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => AIMinutesPageWidget(repository: _repository),
),
);
}
}

开发注意事项

版本依赖:AI 会议助手功能需要 TUIRoomKit 版本 ≥ 4.1.0,请确保已安装符合要求的版本。
计费逻辑:AI 功能仅由房主入房时自动开启,同一个房间只计费一次,普通成员加入不会重复计费。
网络要求:AI 识别依赖稳定的上行网络,网络抖动可能导致字幕出现延迟或丢失。

常见问题

房间内所有成员都能使用 AI 功能吗?

功能说明:AI 字幕和实时记录功能的开启和停止完全依赖房主端开启,当房主进入房间后开启 AI 字幕能力。此时,房间内所有成员均可使用 AI 实时字幕与会议记录功能。

AI 功能是否会产生重复计费?

计费说明:不会重复计费。转录任务仅由房主开启一次,因此每个会议房间只会产生一次计费。若房主进房后未开启 AI 实时字幕功能,则不会开启转录任务,也不会产生相关费用。