语音转文字
本文主要介绍如何使用 IMKit SDK 将语音消息的音频内容转为文本。
准备工作
在开始之前,请确保 SDK 版本 ≥ 5.22.0,并已在融云控制台开启语音转文字功能。
提示
此功能自 5.22.0 版本起支持,仅适用于 5.22.0 及之后的语音消息。高清语音要求采样率为 8000Hz 或 16000Hz,声道为 1,格式为 aac
,且时长不超过 60 秒。历史语音消息暂不支持该功能。
效果展示





语音转文字简介
IMKit SDK 支持录制最长 60 秒的语音文件。用户进入聊天界面后,可长按消息列表中的语音消息气泡,在弹出的菜单中点击转文字,调用 IMLib SDK 将语音消息转换为文本并展示。SDK 会记录语音转文本的可见性状态,下次进入会话时,根据可见性控制文字 UI 的展示。
提示
未开启语音转文本功能、未发送成功或转换中的消息,长按菜单中不会显示转文字选项。
组件关系图
语音转文字相关类
类名 | 用途 | 描述 |
---|---|---|
SpeechToTextHandler | 语音转文字处理器 | 负责发起请求、设置可见性、处理回调。核心业务处理类。 |
VoiceMessageItemProvider | 普通语音消息提供器 | 处理 VoiceMessage 的 UI 显示,包含语音转文字 UI 逻辑。 |
HQVoiceMessageItemProvider | 高清语音消息提供器 | 处理 HQVoiceMessage 的 UI 显示,包含语音转文字 UI 逻辑。 |
MessageViewModel | 消息视图模型 | 集成 SpeechToTextHandler,处理长按菜单和 UI 状态管理。 |
SpeechToTextViews | 语音转文字视图组合 | 封装语音转文字相关的 UI 组件。 |
SpeechToTextInfo | 语音转文字数据模型 | 记录当前语音转文字状态和结果。 |
以下为类图:
SpeechToTextInfo
为 IMLib SDK 用于记录当前语音转文字状态的数据模型。下表为语音转文字数据模型的主要属性,完整属性请参考 API 文档。
SpeechToTextInfo
对象属性如下:
属性名 | 类型 | 描述 |
---|---|---|
status | SpeechToTextStatus |