tencent cloud

直播 SDK

AITranscriberStore

Download
聚焦模式
字号
最后更新时间: 2026-07-16 14:59:42

简介

AITranscriberStore 提供了一套完整的 AI 实时转写管理 API,包括启动、更新和停止实时转写。 通过该类,可以在音视频通话或直播过程中实现实时语音转文字功能,并支持多语言翻译。
重要:
使用 create(roomID:) 工厂方法为特定房间创建 AITranscriberStore 实例。在开始转写前,配置源语言和翻译语言。
说明:
转写状态更新通过 state 发布者传递。订阅它以接收实时转写消息。

功能特性

实时转写:支持在音视频会话中实时将语音转换为文字。
多语言识别:支持20种源语言识别,包括中文、英文、日语、韩语等。
实时翻译:支持将转写文本实时翻译为15种目标语言。
状态管理:提供实时消息列表状态,便于 UI 展示。

API 列表

函数名
描述
create
为特定房间创建实例。
启动转写。
更新转写配置。
停止转写。
启动同声传译。
更新同声传译配置。
停止同声传译。
设置同声传译音量。

获取实例

create(roomID:)

为特定房间创建实例。

转写控制

startTranscription

启动转写。
public func startTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
使用指定语言和配置启动 AI 转写服务。 启动后,转写器将识别房间内的语音,并通过状态发布者提供实时转写结果。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
myLanguage
当前用户的语音识别源语言。
config
转写配置,包括是否启用翻译。
completion
CompletionClosure?
完成回调(成功/失败状态)。

updateTranscription

更新转写配置。
public func updateTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
更新正在进行的转写服务的配置。 可以用于更改源语言或修改翻译设置,而无需停止和重新启动转写。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
myLanguage
新的语音识别源语言。
config
新的转写配置。
completion
CompletionClosure?
完成回调(成功/失败状态)。

stopTranscription

停止转写。
public func stopTranscription(completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
停止正在进行的 AI 转写服务。停止后,转写器将不再识别语音或提供转写结果。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
completion
CompletionClosure?
完成回调(成功/失败状态)。

同声传译控制

startInterpretation

启动同声传译。
public func startInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
使用指定语言和配置启动 AI 同声传译服务。 启动后,同声传译器将在房间内提供实时语音翻译。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
myLanguage
同声传译的源语言。
config
同声传译配置,包括语音类型。
completion
CompletionClosure?
完成回调(成功/失败状态)。

updateInterpretation

更新同声传译配置。
public func updateInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
更新正在进行的同声传译服务的配置。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
myLanguage
新的同声传译源语言。
config
新的同声传译配置。
completion
CompletionClosure?
完成回调(成功/失败状态)。

stopInterpretation

停止同声传译。
public func stopInterpretation(completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
停止正在进行的 AI 同声传译服务。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
completion
CompletionClosure?
完成回调(成功/失败状态)。

setInterpretationVolume

设置同声传译音量。
public func setInterpretationVolume(_ volume: Int, completion: CompletionClosure? = nil) {
fatalError("\\(#function) must be overridden by subclass")
}
设置同声传译音频输出的音量。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
volume
Int
音量等级。
completion
CompletionClosure?
完成回调(成功/失败状态)。

数据结构

AITranscriberStoreEvent

AI 转写事件回调。
警告:
已废弃:请使用 transcriberState 观察状态变化代替
枚举值
说明
onReceiveTranscriberMessage
收到新的转写消息时触发。
onRealtimeTranscriberStarted
实时转写服务成功启动时触发。
onRealtimeTranscriberStopped
实时转写服务停止时触发。
onRealtimeTranscriberError
实时转写过程中发生错误时触发。

SourceLanguage

转写识别的源语言类型。
枚举值
说明
chineseEnglish
zh_en
中英文混合识别。
chinese
zh
中文。
english
en
英文。
cantonese
zh-yue
粤语。
vietnamese
vi
越南语。
japanese
ja
日语。
korean
ko
韩语。
indonesian
id
印尼语。
thai
th
泰语。
portuguese
pt
葡萄牙语。
turkish
tr
土耳其语。
arabic
ar
阿拉伯语。
spanish
es
西班牙语。
hindi
hi
印地语。
french
fr
法语。
malay
ms
马来语。
filipino
fil
菲律宾语。
german
de
德语。
italian
it
意大利语。
russian
ru
俄语。

TranslationLanguage

翻译目标语言类型。
枚举值
说明
chinese
zh
中文。
english
en
英文。
vietnamese
vi
越南语。
japanese
ja
日语。
korean
ko
韩语。
indonesian
id
印尼语。
thai
th
泰语。
portuguese
pt
葡萄牙语。
arabic
ar
阿拉伯语。
spanish
es
西班牙语。
french
fr
法语。
malay
ms
马来语。
german
de
德语。
italian
it
意大利语。
russian
ru
俄语。

InterpretationVoice

同声传译的语音类型。
枚举值
说明
female
female
女声。
male
male
男声。

TranscriberMessage

转写消息,表示一段转写的语音片段。
属性
类型
说明
segmentId
String
转写片段唯一标识。
speakerUserId
String
说话人用户 ID。
speakerUserName
String
说话人显示名称。
sourceText
String
语音识别的原始转写文本。
translationTexts
[TranslationLanguage: String]
翻译结果,以目标语言为键。包含每种已配置翻译语言的翻译文本。
timestamp
Int64
消息时间戳。
isCompleted
Bool
片段转写是否已完成。当为 true 时,原文文本和翻译文本将不再更新。

TranscriptionConfig

转写功能配置。
属性
类型
说明
enableTranslation
Bool
是否在转写过程中启用翻译。

InterpretationConfig

同声传译功能配置。
属性
类型
说明
voice
同声传译输出的语音类型。

TranscriberConfig

转写配置,用于配置源语言和翻译语言。
警告:
已废弃:请使用 TranscriptionConfig 或 InterpretationConfig 代替
属性
类型
说明
sourceLanguage
语音识别的源语言,默认为中英文混合。
translationLanguages
翻译目标语言列表。可以同时配置多种语言。

TranscriberState

AITranscriberStore 对外提供的转写相关状态数据。
属性
类型
说明
selfLanguage
当前用户的自身语言。
realtimeMessageList
实时转写消息列表,随着转写进行自动更新。
isTranscriptionRunning
Bool
转写是否正在运行。
transcriptionConfig
当前转写配置。
isInterpretationRunning
Bool
同声传译是否正在运行。
interpretationConfig
当前同声传译配置。
interpretationVolume
Int
当前同声传译音量。

使用示例

// 为特定房间创建实例
let store = AITranscriberStore.create(roomID: "your_room_id")
// 订阅状态变化
store.state.subscribe { state in
for message in state.realtimeMessageList {
print("说话人: \\(message.speakerUserName)")
print("原文: \\(message.sourceText)")
}
}
// 配置转写
var config = TranscriberConfig()
config.sourceLanguage = .chineseEnglish
config.translationLanguages = [.english, .japanese]
// 启动转写
store.startRealtimeTranscriber(config: config) { error in
if let error = error {
print("启动失败: \\(error)")
}
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈