@rongcloud/plugin-call 5.32.0 → 5.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ILogger, ConversationType, LogLevel, LogL, IPushConfig as IPushConfig$1, IReceivedMessage, EventEmitter, RTCPluginContext, IRuntime, BasicLogger, IRTCJoinedInfo, IPluginGenerator } from '@rongcloud/engine';
2
- import { RCRTCClient, IMicphoneAudioProfile, ICameraVideoProfile, RTCJoinType, RCTrack, RCRTCCode, IRCRTCStateReport, RCRTCPingResult, RCLocalTrack } from '@rongcloud/plugin-rtc';
2
+ import { RCRTCClient, IMicphoneAudioProfile, ICameraVideoProfile, RTCJoinType, RCTrack, RCRTCCode, IRCRTCStateReport, RCRTCPingResult, RCLocalTrack, RCRTCASRContent, RCRTCRealtimeTranslationContent, IRCRTCGenerateSummarizationConfig } from '@rongcloud/plugin-rtc';
3
3
  export { IRCRTCStateReport } from '@rongcloud/plugin-rtc';
4
4
 
5
5
  /**
@@ -345,6 +345,7 @@ declare class RCCallSession {
345
345
  * 用户传进来的 对session的监听 (要在RCCallClient的_onInvite里判断,要求执行完onSession必须注册session的监听,所以这里是public)
346
346
  */
347
347
  _listener: ISessionListener | null;
348
+ private _callAsrListener;
348
349
  /**
349
350
  * RTC订阅、发布重试的次数
350
351
  */
@@ -353,6 +354,14 @@ declare class RCCallSession {
353
354
  * 加入房间定时器
354
355
  */
355
356
  private joinRoomTimer;
357
+ /**
358
+ * 昵称,用于智能总结
359
+ */
360
+ private _nickName;
361
+ /**
362
+ * 输入语言代码,用于语音识别精准识别
363
+ */
364
+ private _srcLanguage;
356
365
  constructor(
357
366
  /**
358
367
  * 状态机实例
@@ -406,6 +415,7 @@ declare class RCCallSession {
406
415
  * 用户调用的,注册session上的监听
407
416
  */
408
417
  registerSessionListener(listener: ISessionListener): void;
418
+ registerCallASRListener(listener: IRCCallASRListener): void;
409
419
  /**
410
420
  * 调RTC API 获得本地流
411
421
  */
@@ -558,6 +568,96 @@ declare class RCCallSession {
558
568
  * 获得mediaType
559
569
  */
560
570
  getMediaType(): RCCallMediaType;
571
+ /**
572
+ * 设置输入语言代码,用于语音识别精准识别
573
+ * @param srcLanguage 语言代码
574
+ * @description 需要在取得 session 时立马调用
575
+ * @return
576
+ */
577
+ setSrcLanguageCode(languageCode: string): Promise<{
578
+ code: RCCallErrorCode;
579
+ }>;
580
+ /**
581
+ * 开启语音识别服务
582
+ * @description 语音识别功能依赖会话的音频流,
583
+ * 语音识别服务开启后且会话中有音频流时,sdk 会通过 `onReceiveStartASR` 通知业务层,代表真正开启成功
584
+ * @returns
585
+ */
586
+ startASR(): Promise<{
587
+ code: RCCallErrorCode;
588
+ }>;
589
+ /**
590
+ * 是否有语音识别资源
591
+ * @returns
592
+ */
593
+ asrIsAvailable(): boolean;
594
+ /**
595
+ * 关闭语音识别服务
596
+ * @returns
597
+ */
598
+ stopASR(): Promise<{
599
+ code: RCCallErrorCode;
600
+ }>;
601
+ /**
602
+ * 设置是否接收语音识别资源
603
+ * @param enable 为 ture 时,sdk 会获取语音识别资源并解析,通过监听事件 `onReceiveASRContent` 事件,抛出语音识别内容
604
+ * @description
605
+ * @returns
606
+ */
607
+ setEnableASR(enable: boolean): Promise<{
608
+ code: RCCallErrorCode;
609
+ }>;
610
+ /**
611
+ * 开启语音实时翻译
612
+ * @param destLangCode 翻译的目标语言
613
+ * @description 执行时机:需在监听事件 `onReceiveStartASR` 中执行。
614
+ * @description 执行条件:语音识别资源被设置为接收状态
615
+ * @returns
616
+ */
617
+ startRealtimeTranslation(destLangCode: string): Promise<{
618
+ code: RCCallErrorCode;
619
+ }>;
620
+ /**
621
+ * 关闭语音实时翻译
622
+ * @returns
623
+ */
624
+ stopRealtimeTranslation(): Promise<{
625
+ code: RCCallErrorCode;
626
+ }>;
627
+ /**
628
+ 开始智能总结任务
629
+ *
630
+ * @description 执行时机:需在监听事件 `onReceiveStartASR` 中执行。
631
+ *
632
+ * @discussion
633
+ 1. 智能总结任务依赖语音识别服务
634
+ 2. 通话中其他人通过 onReceiveStartSummarization 收到通知
635
+ 3. 智能总结任务开始后,可通过 stopSummarization 接口关闭
636
+ *
637
+ * @returns taskId 智能总结任务 Id
638
+ */
639
+ startSummarization(): Promise<{
640
+ code: RCCallErrorCode;
641
+ taskId?: string;
642
+ }>;
643
+ /**
644
+ * 关闭智能总结
645
+ *
646
+ * @discussion 通话中关闭智能总结任务,其他人员通过 onReceiveStopSummarization 收到通知
647
+ * @returns
648
+ */
649
+ stopSummarization(): Promise<{
650
+ code: RCCallErrorCode;
651
+ }>;
652
+ /**
653
+ * 设置昵称
654
+ * @param nickName 用于智能总结,昵称强制不翻译
655
+ * @description 需要在取得 session 时立马调用
656
+ * 长度不超过 64
657
+ */
658
+ setNickName(nickName: string): {
659
+ code: RCCallErrorCode;
660
+ };
561
661
  }
562
662
 
563
663
  interface ISender {
@@ -722,6 +822,11 @@ interface ISessionListener {
722
822
  * @since version 5.1.5
723
823
  */
724
824
  onICEConnectionStateChange?(state: RTCIceConnectionState, session: RCCallSession): void;
825
+ /**
826
+ * 通话建立连接
827
+ * 可在此时开启房间内的语音识别服务
828
+ */
829
+ onConnected?(session: RCCallSession): void;
725
830
  }
726
831
  /**
727
832
  * 创建session的options
@@ -874,6 +979,39 @@ interface IRCCallInGroupParams {
874
979
  audio?: number;
875
980
  };
876
981
  }
982
+ interface IRCCallASRListener {
983
+ /**
984
+ * 语音识别服务开启通知
985
+ * 如需要语音识别内容和语音实时翻译,可在此时机依次调用 session 的
986
+ * setEnableASR 方法,设置房间内的语音识别资源为可用,语音识别内容通过 `onReceiveASRContent` 回调给业务层
987
+ * startRealtimeTranslation 方法,开启语音实时翻译,实时翻译内容通过 `onReceiveRealtimeTranslationContent` 回调给业务层
988
+ */
989
+ onReceiveStartASR?(): void;
990
+ /**
991
+ * 语音识别服务停止通知
992
+ */
993
+ onReceiveStopASR?(): void;
994
+ /**
995
+ * 语音识别内容回调
996
+ * @param asrContent
997
+ */
998
+ onReceiveASRContent?(asrContent: RCRTCASRContent): void;
999
+ /**
1000
+ * 语音翻译结果回调
1001
+ * @param content
1002
+ */
1003
+ onReceiveRealtimeTranslationContent?(content: RCRTCRealtimeTranslationContent): void;
1004
+ /**
1005
+ * 开始智能总结
1006
+ * @param taskId 可用于获取会议纪要、会议语音转文字内容
1007
+ */
1008
+ onReceiveStartSummarization?(taskId: string): void;
1009
+ /**
1010
+ * 结束智能总结
1011
+ * @param taskId
1012
+ */
1013
+ onReceiveStopSummarization?(taskId: string): void;
1014
+ }
877
1015
 
878
1016
  interface IEndSummary {
879
1017
  /**
@@ -1669,6 +1807,32 @@ declare class RCCallClient {
1669
1807
  setPushConfig(callPushConfig: IPushConfig, hungupPushConfig: IPushConfig): {
1670
1808
  code: RCCallErrorCode.STATE_MACHINE_EXIT | RCCallErrorCode.SEND_MSG_ERROR | RCCallErrorCode.REJECTED_BY_BLACKLIST | RCCallErrorCode.NOT_IN_GROUP | RCCallErrorCode.GET_LOCAL_AUDIO_TRACK_ERROR | RCCallErrorCode.GET_LOCAL_VIDEO_TRACK_ERROR | RCCallErrorCode.GET_LOCAL_AUDIO_AND_VIDEO_TRACK_ERROR | RCCallErrorCode.JOIN_ROOM_ERROR | RCCallErrorCode.AUDIO_PUBLISH_ERROR | RCCallErrorCode.VIDEO_PUBLISH_ERROR | RCCallErrorCode.AUDIO_AND_VIDEO_PUBLISH_ERROR | RCCallErrorCode.QUERY_JOINED_USER_INFO_ERROR | RCCallErrorCode.MISSING_VIDEO_TRACK_ERROR | RCCallErrorCode.UNPUBLISH_VIDEO_ERROR | RCCallErrorCode.CONVERSATION_NOT_GROUP_ERROR | RCCallErrorCode.NOT_IN_ROOM_ERROR | RCCallErrorCode.PARAM_ERROR | RCCallErrorCode.MISSING_AUDIO_TRACK_ERROR | RCCallErrorCode.SESSION_ENDED | RCCallErrorCode.SWITCH_VIDEO_DEVICE_ERROR;
1671
1809
  } | undefined;
1810
+ /**
1811
+ * 生成智能总结
1812
+ * @param callId 通话 Id
1813
+ * @param taskId 智能总结任务 Id,通过 onReceiveStartSummarization 回调获取到
1814
+ * @param startTime 本次需要总结的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
1815
+ * @param endTime 本次需要总结的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
1816
+ * @param config 生成智能总结配置,其中 enableSummarization、enableSummarizationDetails、enableChapterSummary、enableTodoList、enableHashtag 必须有一个为 true,否则不会产生任何总结内容
1817
+ * @param contentBlock 内容回调,如果内容比较多,contentBlock 会回调多次,isEnd 为 true 时,代表内容回调结束
1818
+ * @returns
1819
+ */
1820
+ generateSummarization(callId: string, taskId: string, startTime: number, endTime: number, config: IRCRTCGenerateSummarizationConfig, contentBlock: (data: string, isEnd: boolean) => void): Promise<{
1821
+ code: RCCallErrorCode;
1822
+ }>;
1823
+ /**
1824
+ * 获取语音转文字内容
1825
+ * @param roomId 获取语音转文字的房间 Id
1826
+ * @param taskId 智能总结任务 Id,通过 onReceiveStartSummarization 回调获取
1827
+ * @param startTime 本次需要获取语音转文字的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
1828
+ * @param endTime 本次需要获取语音转文字的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
1829
+ * @param destLang 目标语言代码,默认为语音源语言
1830
+ * @param contentBlock 内容回调,如果内容比较多,contentBlock 会回调多次,isEnd 为 true 时,代表内容回调结束
1831
+ * @returns
1832
+ */
1833
+ getASRContent(callId: string, taskId: string, startTime: number, endTime: number, contentBlock: (data: string, isEnd: boolean) => void, destLang?: string): Promise<{
1834
+ code: RCCallErrorCode;
1835
+ }>;
1672
1836
  }
1673
1837
 
1674
1838
  declare const installer: IPluginGenerator<RCCallClient, IRCCallInitOptions>;