AI Real-Time Subtitles
功能介绍
接入 TUIRoomKit 后,您可以通过点击底部栏的 "AI 助手" 开启 AI 实时字幕功能,该功能可实现:
AI 实时字幕:将会议过程中的讨论内容以字幕形式进行显示。
AI 实时会议记录:将会议过程中的讨论内容以文字形式记录下来。
注意:
在底部栏点击 AI 助手 | 开启 AI 实时字幕 | 查看 AI 实时会议记录 |
![]() | ![]() | ![]() |
功能接入
接入前提
开启底部栏中 “AI 助手” 按钮。
ConferenceSessionImpl.sharedInstance().isShowAISpeechToTextButton = true;
开启 AI 实时字幕
开启 AI 实时字幕功能,实际上是启动了一次 AI 转录任务,该过程中,后台会通过机器人拉流进行实时进行语音识别并下发字幕和转录消息。关于更多开启 AI 转录任务的参数配置、查询转录任务状态参见 AI 服务相关接口。
您可在创建房间后,通过以下示例代码,开启 AI 实时字幕功能。
说明:
语音转写功能需要密钥开启,由于代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。建议采用更安全的方式来使用密钥,详情请参见 云 API 密钥安全方案推荐,密钥可前往 API 密钥管理 进行获取。
private String mTaskId; // 开启 AI 转录后的任务IDprivate String aiSecretId = "PLACEHOLDER"; // AI 语音转写的 IDprivate String aiSecretKey = "PLACEHOLDER"; // AI 语音转写的 Keyprivate String roomId = "PLACEHOLDER"; // 房间 IDprivate int sdkAppId = 0L; // 您的 SDKAppIdprivate String sdkSecretKey = "PLACEHOLDER"; // 您的 SDKAppId 密钥private String robotUserId = "PLACEHOLDER"; // 房间内 AI 机器人的 userId,和房间内的其他人 userId 不能一样private void startAITranscription() {Runnable startAITranscriptionRun = () -> {try {// 代码泄露可能会导致 aiSecretId 和 aiSecretKey 泄露,并威胁账号下所有资源的安全性。// 以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305// 密钥可前往官网控制台 https://console.tencentcloud.com/cam/capi 进行获取Credential credential = new Credential(aiSecretId, aiSecretKey);TrtcClient client = new TrtcClient(credential, null);StartAITranscriptionRequest request = new StartAITranscriptionRequest();request.setRoomId(roomId);request.setRoomIdType(1L);request.setSdkAppId((long)sdkAppId);TranscriptionParams transcriptionParams = new TranscriptionParams();transcriptionParams.setUserId(robotUserId);transcriptionParams.setUserSig(GenerateTestUserSig.genTestUserSig(sdkAppId, robotUserId, sdkSecretKey));request.setTranscriptionParams(transcriptionParams);StartAITranscriptionResponse response = client.StartAITranscription(request);mTaskId = response.getTaskId();} catch (TencentCloudSDKException e) {e.printStackTrace();}};new Thread(startAITranscriptionRun).start();}
private var mTaskId: String? = null // 开启 AI 转录后的任务IDprivate val aiSecretId = "PLACEHOLDER" // AI 语音转写的 IDprivate val aiSecretKey = "PLACEHOLDER" // AI 语音转写的 Keyprivate val roomId = "PLACEHOLDER" // 房间 IDprivate val sdkAppId = 0L // 您的 SDKAppIdprivate val sdkSecretKey = "PLACEHOLDER" // 您的 SDKAppId 密钥private val robotUserId = "PLACEHOLDER" // 房间内 AI 机器人的 userId,和房间内的其他人 userId 不能一样private fun startAITranscription() {Thread {try {// 代码泄露可能会导致 aiSecretId 和 aiSecretKey 泄露,并威胁账号下所有资源的安全性。// 以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305// 密钥可前往官网控制台 https://console.tencentcloud.com/cam/capi 进行获取val credential = Credential(aiSecretId, aiSecretKey)val client = TrtcClient(credential, null)val request = StartAITranscriptionRequest()request.roomId = roomIdrequest.roomIdType = 1Lrequest.sdkAppId = sdkAppIdval transcriptionParams = TranscriptionParams()transcriptionParams.userId = robotUserIdtranscriptionParams.userSig = GenerateTestUserSig.genTestUserSig(sdkAppId, robotUserId, sdkSecretKey)request.transcriptionParams = transcriptionParamsval response = client.StartAITranscription(request)mTaskId = response?.taskId} catch (e: TencentCloudSDKException) {e.printStackTrace()}}.start()}
关闭 AI 实时字幕功能
您可在离开房间/销毁房间时,调用以下代码关闭 AI 实时字幕功能。
private void stopAITranscription() {Runnable stopAITranscriptionRun = () -> {try {Credential credential = new Credential(secretId, secretKey);TrtcClient client = new TrtcClient(credential, null);StopAITranscriptionRequest stopAITranscriptionRequest = new StopAITranscriptionRequest();stopAITranscriptionRequest.setTaskId(mTaskId);client.StopAITranscription(stopAITranscriptionRequest);} catch (TencentCloudSDKException e) {e.printStackTrace();}};new Thread(stopAITranscriptionRun).start();}
private fun stopAITranscription() {Thread {try {val credential = Credential(secretId, secretKey)val client = TrtcClient(credential, null)val stopAITranscriptionRequest = StopAITranscriptionRequest()stopAITranscriptionRequest.taskId = mTaskIdclient.StopAITranscription(stopAITranscriptionRequest)} catch (e: TencentCloudSDKException) {e.printStackTrace()}}.start()}
说明:
如果您在接入和使用过程有任何需要或者反馈,您可以联系:info_rtc@tencent.com。