Android

更新时间:2025-06-11 02:11:46

实时字幕功能为线上会议、在线教育等场景提供实时的语音转文字服务,这项功能可以帮助参会者更好的理解会议内容。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接口说明