AITranscriberStore 提供了一套完整的 AI 实时转写管理 API,包括启动、更新和停止实时转写。 通过该类,可以在音视频通话或直播过程中实现实时语音转文字功能,并支持多语言翻译。AITranscriberStore 实例。在开始转写前,配置源语言和翻译语言。属性名 | 类型 | 描述 |
selfLanguage | 当前用户的自身语言。 | |
realtimeMessageList | 实时转写消息列表,随着转写进行自动更新。 | |
isTranscriptionRunning | StateFlow<Boolean> | 转写是否正在运行。 |
transcriptionConfig | 当前转写配置。 | |
isInterpretationRunning | StateFlow<Boolean> | 同声传译是否正在运行。 |
interpretationConfig | 当前同声传译配置。 | |
interpretationVolume | StateFlow<Int> | 当前同声传译音量。 |
函数名 | 描述 |
为特定房间创建实例。 | |
启动转写。 | |
更新转写配置。 | |
停止转写。 | |
启动同声传译。 | |
更新同声传译配置。 | |
停止同声传译。 | |
设置同声传译音量。 |
abstract fun startTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
myLanguage | 当前用户的语音识别源语言。 | |
config | 转写配置,包括是否启用翻译。 | |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun updateTranscription(myLanguage: SourceLanguage, config: TranscriptionConfig = TranscriptionConfig(), completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
myLanguage | 新的语音识别源语言。 | |
config | 新的转写配置。 | |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun stopTranscription(completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun startInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
myLanguage | 同声传译的源语言。 | |
config | 同声传译配置,包括语音类型。 | |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun updateInterpretation(myLanguage: SourceLanguage, config: InterpretationConfig = InterpretationConfig(), completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
myLanguage | 新的同声传译源语言。 | |
config | 新的同声传译配置。 | |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun stopInterpretation(completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
abstract fun setInterpretationVolume(volume: Int, completion: CompletionHandler? = null)
参数名 | 类型 | 描述 |
volume | Int | 音量等级。 |
completion | CompletionHandler? | 完成回调(成功/失败状态)。 |
方法名 | 说明 |
onReceiveTranscriberMessage | 收到新的转写消息时触发。 |
onRealtimeTranscriberStarted | 实时转写服务成功启动时触发。 |
onRealtimeTranscriberStopped | 实时转写服务停止时触发。 |
onRealtimeTranscriberError | 实时转写过程中发生错误时触发。 |
枚举值 | 值 | 说明 |
CHINESE_ENGLISH | 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 | 翻译结果,以目标语言为键。包含每种已配置翻译语言的翻译文本。 | |
timestamp | Long | 消息时间戳。 |
isCompleted | Boolean | 片段转写是否已完成。当为 true 时,原文文本和翻译文本将不再更新。 |
属性 | 类型 | 说明 |
enableTranslation | Boolean | 是否在转写过程中启用翻译。 |
属性 | 类型 | 说明 |
voice | 同声传译输出的语音类型。 |
属性 | 类型 | 说明 |
sourceLanguage | 语音识别的源语言,默认为中英文混合。 | |
translationLanguages | 翻译目标语言列表。可以同时配置多种语言。 |
属性 | 类型 | 说明 |
selfLanguage | 当前用户的自身语言。 | |
realtimeMessageList | 实时转写消息列表,随着转写进行自动更新。 | |
isTranscriptionRunning | StateFlow<Boolean> | 转写是否正在运行。 |
transcriptionConfig | 当前转写配置。 | |
isInterpretationRunning | StateFlow<Boolean> | 同声传译是否正在运行。 |
interpretationConfig | 当前同声传译配置。 | |
interpretationVolume | StateFlow<Int> | 当前同声传译音量。 |
// 为特定房间创建实例val store = AITranscriberStore.create("your_room_id")// 订阅状态变化lifecycleScope.launch {store.transcriberState.realtimeMessageList.collect { messages ->messages.forEach { message ->println("说话人: ${message.speakerUserName}")println("原文: ${message.sourceText}")}}}// 配置转写val config = TranscriberConfig(sourceLanguage = SourceLanguage.CHINESE_ENGLISH,translationLanguages = mutableListOf(TranslationLanguage.ENGLISH, TranslationLanguage.JAPANESE))// 启动转写store.startRealtimeTranscriber(config) { code, message ->if (code != 0) {println("启动失败: $message")}}
文档反馈