AITranscriberStore 提供了一套完整的 AI 实时转写管理 API,包括启动、更新和停止实时转写。 通过该类,可以在音视频通话或直播过程中实现实时语音转文字功能,并支持多语言翻译。AITranscriberStore 实例。在开始转写前,配置源语言和翻译语言。函数名 | 描述 |
为特定房间创建实例。 | |
启动转写。 | |
更新转写配置。 | |
停止转写。 | |
启动同声传译。 | |
更新同声传译配置。 | |
停止同声传译。 | |
设置同声传译音量。 |
public func startTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
myLanguage | 当前用户的语音识别源语言。 | |
config | 转写配置,包括是否启用翻译。 | |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func updateTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
myLanguage | 新的语音识别源语言。 | |
config | 新的转写配置。 | |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func stopTranscription(completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func startInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
myLanguage | 同声传译的源语言。 | |
config | 同声传译配置,包括语音类型。 | |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func updateInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
myLanguage | 新的同声传译源语言。 | |
config | 新的同声传译配置。 | |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func stopInterpretation(completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
public func setInterpretationVolume(_ volume: Int, completion: CompletionClosure? = nil) {fatalError("\\(#function) must be overridden by subclass")}
参数名 | 类型 | 描述 |
volume | Int | 音量等级。 |
completion | CompletionClosure? | 完成回调(成功/失败状态)。 |
枚举值 | 说明 |
onReceiveTranscriberMessage | 收到新的转写消息时触发。 |
onRealtimeTranscriberStarted | 实时转写服务成功启动时触发。 |
onRealtimeTranscriberStopped | 实时转写服务停止时触发。 |
onRealtimeTranscriberError | 实时转写过程中发生错误时触发。 |
枚举值 | 值 | 说明 |
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 | 俄语。 |
枚举值 | 值 | 说明 |
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 | 俄语。 |
枚举值 | 值 | 说明 |
female | female | 女声。 |
male | male | 男声。 |
属性 | 类型 | 说明 |
segmentId | String | 转写片段唯一标识。 |
speakerUserId | String | 说话人用户 ID。 |
speakerUserName | String | 说话人显示名称。 |
sourceText | String | 语音识别的原始转写文本。 |
translationTexts | [TranslationLanguage: String] | 翻译结果,以目标语言为键。包含每种已配置翻译语言的翻译文本。 |
timestamp | Int64 | 消息时间戳。 |
isCompleted | Bool | 片段转写是否已完成。当为 true 时,原文文本和翻译文本将不再更新。 |
属性 | 类型 | 说明 |
enableTranslation | Bool | 是否在转写过程中启用翻译。 |
属性 | 类型 | 说明 |
voice | 同声传译输出的语音类型。 |
属性 | 类型 | 说明 |
sourceLanguage | 语音识别的源语言,默认为中英文混合。 | |
translationLanguages | 翻译目标语言列表。可以同时配置多种语言。 |
属性 | 类型 | 说明 |
selfLanguage | 当前用户的自身语言。 | |
realtimeMessageList | 实时转写消息列表,随着转写进行自动更新。 | |
isTranscriptionRunning | Bool | 转写是否正在运行。 |
transcriptionConfig | 当前转写配置。 | |
isInterpretationRunning | Bool | 同声传译是否正在运行。 |
interpretationConfig | 当前同声传译配置。 | |
interpretationVolume | Int | 当前同声传译音量。 |
// 为特定房间创建实例let store = AITranscriberStore.create(roomID: "your_room_id")// 订阅状态变化store.state.subscribe { state infor message in state.realtimeMessageList {print("说话人: \\(message.speakerUserName)")print("原文: \\(message.sourceText)")}}// 配置转写var config = TranscriberConfig()config.sourceLanguage = .chineseEnglishconfig.translationLanguages = [.english, .japanese]// 启动转写store.startRealtimeTranscriber(config: config) { error inif let error = error {print("启动失败: \\(error)")}}
文档反馈