startSubtitle method

Future<int?> startSubtitle(
  1. SubtitleConfig subtitleConfig
)

@valid since 3.52 @detail api @author qiaoxingwang @brief 识别或翻译房间内所有用户的语音,形成字幕。
调用该方法时,可以在 SubtitleMode{@link #SubtitleMode} 中选择语音识别或翻译模式。如果选择识别模式,语音识别文本会通过 onSubtitleMessageReceived{@link #IRTCRoomEventHandler#onSubtitleMessageReceived} 事件回调给你;
如果选择翻译模式,你会同时收到两个 onSubtitleMessageReceived{@link #IRTCRoomEventHandler#onSubtitleMessageReceived} 回调,分别包含字幕原文及字幕译文。
调用该方法后,你会收到 onSubtitleStateChanged{@link #IRTCRoomEventHandler#onSubtitleStateChanged} 回调,通知字幕是否开启。 @param subtitleConfig 字幕配置信息。参看 SubtitleConfig{@link #SubtitleConfig}。 @return - 0: 成功。 - < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 @note - 使用字幕功能前,你需要在 RTC 控制台 开启实时字幕功能。 - 如果你需要使用流式语音识别模式,你应在 语音技术控制台 创建流式语音识别应用。创建时,服务类型应选择 流式语音识别,而非 音视频字幕生成。创建后,在 RTC 控制台 上启动流式语音识别,并填写创建语音技术应用时获取的相关信息,包括:APP ID,Access Token,和 Cluster ID。 - 如果你需要使用实时语音翻译模式,你应开通机器翻译服务,参考 开通服务。完成开通后,在 RTC 控制台 上启用实时语音翻译模式。 - 此方法需要在进房后调用。 - 如需指定源语言,你需要在调用 joinRoom 接口进房时,通过 extraInfo 参数传入格式为"语种英文名": "语种代号" JSON 字符串,例如设置源语言为英文时,传入 "source_language": "en"。如未指定源语言,SDK 会将系统语种设定为源语言。如果你的系统语种不是中文、英文和日文,此时 SDK 会自动将中文设为源语言。 - 识别模式下,你可以传入 RTC 控制台上预设或自定义的语种英文名和语种代号。识别模式下支持的语言参看识别模式语种支持。 - 翻译模式下,你需要传入机器翻译规定的语种英文名和语种代号。翻译模式下支持的语言及对应的代号参看翻译模式语言支持

Implementation

Future<int?> startSubtitle(SubtitleConfig subtitleConfig) async {
  $a() => ($instance as $p_a.RTCRoom)
      .startSubtitle(unpackObject<$p_a.SubtitleConfig>(subtitleConfig));
  $i() => ($instance as $p_i.ByteRTCRoom).startSubtitle(
      unpackObject<$p_i.ByteRTCSubtitleConfig>(subtitleConfig));

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}