实时字幕功能为线上会议、在线教育等场景提供实时的语音转文字服务,这项功能可以帮助参会者更好的理解会议内容。DingRTC为您提供了实时字幕的功能。通过阅读本文,您可以了解Android端集成实时字幕能力的方法。
一、集成说明
请集成3.8.0及以上版本的SDK。
二、实现字幕基本功能
1)在Android端使用字幕功能前,业务服务端需对接完智能纪要功能,并通过StartCloudNote接口启动。
2)按照“快速入门”部分的说明,完成引擎的创建、加入频道、发布和订阅音视频流。
3)获取字幕管理器
DingRtcEngineSubtitleManager subtitleManager = mRtcEngine.getSubtitleManager();
4)设置发言语言类型
subtitleManager.setCurrentSpeakLanguage("zh");
5)设置翻译语言列表
List<String> languageList = new ArrayList();
languageList.add("zh");
subtitleManager.setCurrentTranslateLanguages(languageList);
6)设置字幕监听器
subtitleManager.setSubtitleManagerEventListener(new DingRtcEngineSubtitleManagerListener() {
@Override
public void onLanguageListsUpdated() {
// 有语言列表有更新!
}
@Override
public void onSubtitleServiceStatusChanged(DingRtcEngineSubtitleTypes.DingRtcSubtitleStatus status) {
// DingRtcSubtitleStatus.OPEN 字幕服务状态:开启时可用
}
@Override
public void onSubtitleMessage(DingRtcEngineSubtitleTypes.DingRtcSubtitleMessage message) {
// 处理收到的字幕消息
}
});
7)开启字幕
subtitleManager.enableSubtitle(true);
三、Android接口说明
1)字幕管理器
public interface DingRtcEngineSubtitleManager {
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 设置字幕管理器监听器。
* @param listener 用于接收来自字幕管理器的事件
* @return int
* - 0:成功;
* - 非0:失败。
*/
int setSubtitleManagerEventListener(DingRtcEngineSubtitleManagerListener listener);
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 是否开启字幕。
* @param enable
* - 是否开启/关闭字幕。
* - true:开启字幕。
* - false:关闭字幕。
* @return int
* - 0:成功;
* - 非0:失败。
*/
int enableSubtitle(boolean enable);
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 获取支持的发言语言列表。
* @return 发言语言列表。
*/
String[] getSupportedSpeakLanguages();
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 设置发言语言类型。
* @param language 发言语言类型
* @return int
* - 0:成功;
* - 非0:失败。
*/
int setCurrentSpeakLanguage(String language);
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 获取支持的翻译语言列表。
* @return 翻译语言列表。
*/
String[] getSupportedTranslateLanguages();
/**
* @ingroup Android_DingRtcEngineSubtitleManager
* @since 3.8
* @brief 设置翻译语言列表。
* @param languages 翻译语言类型
* @return int
* - 0:成功;
* - 非0:失败。
*/
int setCurrentTranslateLanguages(ArrayList<String> languages);
}
2)字幕监听器
public interface DingRtcEngineSubtitleManagerListener {
/**
* @since 3.8
* @brief 语言列表更新回调通知。
*/
void onLanguageListsUpdated();
/**
* @since 3.8
* @brief 字幕服务状态变化通知。
* @param status 字幕服务状态
*/
void onSubtitleServiceStatusChanged(DingRtcSubtitleStatus status);
/**
* @since 3.8
* @brief 字幕消息回调通知。
* @param message 字幕消息
*/
void onSubtitleMessage(DingRtcSubtitleMessage message);
}
3)相关数据类
/**
* @brief 字幕服务状态。
*/
public enum DingRtcSubtitleStatus {
/** 字幕服务开启。 */
OPEN(0),
/** 字幕服务关闭。 */
CLOSE(1),
/** 字幕服务出错。 */
ERROR(2);
}
/**
* @ingroup DingRtcDef_Android
* @since 3.8
* @brief 字幕消息。
*/
public static class DingRtcSubtitleMessage {
/** 字幕用户ID。 */
public String userId;
/** 字幕内容。 */
public String subtitle;
/** 字幕句子序列号。 */
public long sentenceIndex = 0;
/** 字幕句子结束标识。 */
public boolean sentenceEnd = false;
/** 翻译字幕标识。 */
public boolean translate = false;
/** 字幕语言类型。 */
public String language;
/** 字幕句子开始时间。 */
public long beginTime = 0;
/** 字幕句子结束时间。 */
public long endTime = 0;
}
该文章对您有帮助吗?
- 本页导读 (0)
- 一、集成说明
- 二、实现字幕基本功能
- 三、Android接口说明