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