@rongcloud/plugin-rtc 5.2.2 → 5.2.4-beem.10

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,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.2.2
3
- * CommitId - cbd066a7185af8c1b56ef6bf88f1332ec9444daa
4
- * Thu Nov 25 2021 17:52:32 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.2.4-beem.10
3
+ * CommitId - 6db922c5bab0ba43c929ae0deae91711d5ce1406
4
+ * Mon Jun 06 2022 15:29:07 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  import { EventEmitter, LogLevel, RTCMode, IRuntime, RTCPluginContext, IServerRTCRoomEntry, IJoinRTCRoomData, IReceivedMessage, KVString, RTCJoinType, IRTCJoinedInfo, IPluginGenerator } from '@rongcloud/engine';
@@ -770,7 +770,7 @@ interface IRoomEventListener extends IRCRTCTrackEventListener {
770
770
  * 另一种可能是己方 rtcPing 失败次数超出上限
771
771
  * @param byServer 当值为 `false` 时,说明本端 rtcPing 超时;当值为 `true` 时,说明本端收到被踢出房间通知
772
772
  */
773
- onKickOff?(byServer: boolean, state?: RCKickReason): void;
773
+ onKickOff?(byServer: boolean, state?: RCKickReason, kickExtra?: any): void;
774
774
  /**
775
775
  * 接收到房间信令时回调,用户可通过房间实例的 sendMessage 接口发送信令
776
776
  * @param name 信令名
@@ -910,6 +910,14 @@ interface IAudioLevelChangeHandler {
910
910
  declare type RoomData = {
911
911
  [userId: string]: IPublishedResource[];
912
912
  };
913
+ /**
914
+ * 观众加房间返回给客户的 CDN 信息
915
+ */
916
+ interface IJoinResCDNInfo {
917
+ resolution?: RCResolution;
918
+ fps?: RCFrameRate;
919
+ CDNEnable?: boolean;
920
+ }
913
921
 
914
922
  declare enum RCInnerCDNPushMode {
915
923
  AUTOMATIC = 0,
@@ -1686,9 +1694,21 @@ declare class RCAudienceLivingRoom {
1686
1694
  private readonly _joinResData;
1687
1695
  readonly _livingType: RCLivingType;
1688
1696
  private readonly _service;
1697
+ /**
1698
+ * 主播列表
1699
+ */
1689
1700
  private _roomAnchorList;
1701
+ /**
1702
+ * 合流、分流资源
1703
+ */
1690
1704
  private _roomRes;
1705
+ /**
1706
+ * 主播分流资源
1707
+ */
1691
1708
  private _roomAnchorRes;
1709
+ /**
1710
+ * 合流、分流 remoteTracks
1711
+ */
1692
1712
  private _remoteTracks;
1693
1713
  private _appListener;
1694
1714
  private _pc;
@@ -1709,8 +1729,12 @@ declare class RCAudienceLivingRoom {
1709
1729
  private _CDNUris;
1710
1730
  constructor(_context: RTCPluginContext, _runtime: IRuntime, _initOptions: IRCRTCInitOptions, _roomId: string, _joinResData: {
1711
1731
  token: string;
1712
- kvEntries?: IServerRTCRoomEntry[];
1732
+ kvEntries: IServerRTCRoomEntry[];
1713
1733
  }, _livingType: RCLivingType);
1734
+ /**
1735
+ * 解析服务端返回的 KV 数据,赋值 room 内数据
1736
+ */
1737
+ private _setInitData;
1714
1738
  protected _assertRoomDestroyed(): RCRTCCode | undefined;
1715
1739
  /**
1716
1740
  * @description 信令数据处理
@@ -1769,8 +1793,7 @@ declare class RCAudienceLivingRoom {
1769
1793
  private _diffCDNUris;
1770
1794
  /**
1771
1795
  * 获取 CDN 资源对应的拉流地址
1772
- * 首次获取 CDNPlayUrl 时,需传入 url,
1773
- * 业务层调用时使用内存中 _CDNUris 的 url,无 _CDNUris 时说明观众端未赋值过 _CDNUris
1796
+ * _CDNUris url 时,说明未开启 CDN 推送
1774
1797
  * @returns CDNPlayUrl
1775
1798
  */
1776
1799
  private _getCDNPlayUrl;
@@ -1864,6 +1887,26 @@ declare class RCAudienceLivingRoom {
1864
1887
  * @returns
1865
1888
  */
1866
1889
  getRemoteTracks(): RCRemoteTrack[];
1890
+ /**
1891
+ * 获取远端 RTC tracks
1892
+ */
1893
+ getRemoteRTCTracks(): RCRemoteTrack[];
1894
+ /**
1895
+ * 获取远端 MCU tracks
1896
+ */
1897
+ getRemoteMCUTracks(): RCRemoteTrack[];
1898
+ /**
1899
+ * 获取房间内 CDN 信息
1900
+ */
1901
+ getCDNInfo(): {
1902
+ resolution: RCResolution;
1903
+ fps: RCFrameRate;
1904
+ CDNEnable: boolean | undefined;
1905
+ } | {
1906
+ CDNEnable: boolean;
1907
+ resolution?: undefined;
1908
+ fps?: undefined;
1909
+ };
1867
1910
  }
1868
1911
 
1869
1912
  /**
@@ -1898,7 +1941,7 @@ declare class PolarisReporter {
1898
1941
  * @param resourceId userId_11_1_tiny 改为 userId_11_tiny_video
1899
1942
  */
1900
1943
  private _getPolarisTrackId;
1901
- sendR3R4Data(data: IInnerRCRTCStateReport): void;
1944
+ sendR3R4Data(data: IInnerRCRTCStateReport): Promise<boolean>;
1902
1945
  /**
1903
1946
  * 加入房间
1904
1947
  */
@@ -1929,6 +1972,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
1929
1972
  private pubLocalTracks;
1930
1973
  private _reTryExchangeTimer;
1931
1974
  private _reportStatsTimer;
1975
+ private _reportR3R4ToPolarisTimer;
1932
1976
  constructor(
1933
1977
  /**
1934
1978
  * _reTryExchange 方法
@@ -1979,6 +2023,14 @@ declare class RCRTCPeerConnection extends EventEmitter {
1979
2023
  * @todo
1980
2024
  */
1981
2025
  private _reportHandle;
2026
+ /**
2027
+ * 北极星上报 R3、R4 数据
2028
+ */
2029
+ private _sendR3R4Data;
2030
+ /**
2031
+ * 2s 给北极星上报一次 R3、R4
2032
+ */
2033
+ __reportR3R4ToPolaris(): Promise<void>;
1982
2034
  getRTCPeerConn(): RTCPeerConnection;
1983
2035
  destroy(): void;
1984
2036
  clearReTryExchangeTimer(): void;
@@ -2183,6 +2235,11 @@ declare abstract class RCAbstractRoom {
2183
2235
  * 退出并销毁当前房间实例,退出后该房间的所有方法将不可用
2184
2236
  */
2185
2237
  __destroy(quitRoom: boolean): Promise<void>;
2238
+ /**
2239
+ * 退出房间之前禁用所有远端资源,避免退出动作耗时过长,
2240
+ * 导致在未完全退出的过程中仍能听到房间内的声音问题
2241
+ */
2242
+ private _muteRemoteTracksBeforeQuit;
2186
2243
  private _leaveHandle;
2187
2244
  private _onLocalTrackDestroied;
2188
2245
  /**
@@ -2674,8 +2731,12 @@ declare class RCRTCClient {
2674
2731
  /**
2675
2732
  * 加入普通音视频房间
2676
2733
  * @param roomId
2734
+ * @param joinType 多端处理方式
2735
+ * @param outerUserDatas 业务层设置人员属性
2736
+ * @param useMutilPeerC
2737
+ * @param roomType 加入房间的类型 默认参数 RTCMode.RTC
2677
2738
  */
2678
- joinRTCRoom(roomId: string, joinType?: RTCJoinType): Promise<{
2739
+ joinRTCRoom(roomId: string, joinType?: RTCJoinType, outerUserDatas?: unknown, useMutilPeerC?: boolean, roomType?: RTCMode): Promise<{
2679
2740
  room?: RCRTCRoom;
2680
2741
  code: RCRTCCode;
2681
2742
  userIds?: string[];
@@ -2810,6 +2871,10 @@ declare class RCRTCClient {
2810
2871
  joinLivingRoomAsAudience(roomId: string, livingType: RCLivingType): Promise<{
2811
2872
  room?: RCAudienceLivingRoom;
2812
2873
  code: RCRTCCode;
2874
+ userIds?: string[];
2875
+ RTCTracks?: RCRemoteTrack[];
2876
+ MCUTracks?: RCRemoteTrack[];
2877
+ CDNUris?: IJoinResCDNInfo;
2813
2878
  }>;
2814
2879
  /**
2815
2880
  * 观众退出并销毁当前房间实例,退出后该房间的所有方法将不可用
@@ -2832,6 +2897,10 @@ declare class RCRTCClient {
2832
2897
  downgradeToAudienceRoom(room: RCLivingRoom): Promise<{
2833
2898
  room?: RCAudienceLivingRoom;
2834
2899
  code: RCRTCCode;
2900
+ userIds?: string[];
2901
+ RTCTracks?: RCRemoteTrack[];
2902
+ MCUTracks?: RCRemoteTrack[];
2903
+ CDNUris?: IJoinResCDNInfo;
2835
2904
  }>;
2836
2905
  /**
2837
2906
  * 获取在房间内用户信息