@trtc/call-engine-lite-js 3.5.8 → 4.0.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/index.d.ts CHANGED
@@ -130,6 +130,28 @@ interface IBeautyLevelParams {
130
130
  ruddinessLevel: number;
131
131
  }
132
132
 
133
+ /**
134
+ * TUI 错误码枚举
135
+ * @memberof TUICallType
136
+ * @enum {number}
137
+ * @example
138
+ * // 处理通话错误
139
+ * tuiCallEngine.on(TUICallEvent.ERROR, (event) => {
140
+ * switch (event.code) {
141
+ * case TUIErrorCode.ERR_CAMERA_NOT_AUTHORIZED:
142
+ * console.error('摄像头权限未授权');
143
+ * break;
144
+ * case TUIErrorCode.ERR_MICROPHONE_NOT_AUTHORIZED:
145
+ * console.error('麦克风权限未授权');
146
+ * break;
147
+ * case TUIErrorCode.ERR_SDK_NOT_INITIALIZED:
148
+ * console.error('SDK 未初始化,请先调用 init 方法');
149
+ * break;
150
+ * default:
151
+ * console.error('通话错误:', event.message);
152
+ * }
153
+ * });
154
+ */
133
155
  declare enum TUIErrorCode {
134
156
  ERR_SUCC = 0,
135
157
  ERR_FAILED = -1,
@@ -221,14 +243,8 @@ type TUIDeviceInfo = {
221
243
  };
222
244
  };
223
245
  /**
224
- * **TUIRoomEngine 事件列表**<br>
225
- * @namespace TUICallEvents
226
- * @example
227
- * import TUIRoomEngine, { TUICallEvents } from '@tencentcloud/tuiroom-engine-js';
228
- * const roomEngine = new TUIRoomEngine();
229
- * roomEngine.on(TUICallEvents.onError, (error) => {
230
- * console.log('roomEngine.error', error);
231
- * })
246
+ * TUICallEvent 事件枚举,包含所有通话相关的事件类型
247
+ * @module TUICallEvent
232
248
  */
233
249
  declare enum TUICallEvent {
234
250
  /**
@@ -260,15 +276,13 @@ declare enum TUICallEvent {
260
276
  * };
261
277
  * tuiCallEngine.on(TUICallEvent.KICKED_OUT, handleOnKickedOut);
262
278
  */
263
- KICKED_OUT = "onKickedOffLine",
279
+ KICKED_OUT = "onKickedOffline",
264
280
  /**
265
281
  * @description userSig 过期事件
266
282
  * @default 'onUserSigExpired'
267
- * @event TUICallEvents#onUserSigExpired
268
283
  * @example
269
- * const roomEngine = new TUIRoomEngine();
270
- * roomEngine.on(TUICallEvents.onUserSigExpired, () => {
271
- * console.log('roomEngine.onUserSigExpired');
284
+ * tuiCallEngine.on(TUICallEvent.USER_SIG_EXPIRED, () => {
285
+ * console.log('userSig expired');
272
286
  * });
273
287
  */
274
288
  onUserSigExpired = "onUserSigExpired",
@@ -534,7 +548,6 @@ declare enum TUIRoomDeviceMangerEvents {
534
548
  /**
535
549
  * @description 设备变更事件
536
550
  * @default 'onDeviceChange'
537
- * @event TUIRoomDeviceMangerEvents#onDeviceChange
538
551
  * @param {object} options
539
552
  * @param {string} options.deviceId 设备 Id
540
553
  * @param {any} options.type 设备类型
@@ -552,24 +565,15 @@ declare enum TUICamera {
552
565
  kFront = 0,
553
566
  kBack = 1
554
567
  }
555
- /**
556
- * 切换摄像头参数
557
- * @memberof SDK
558
- *
559
- * @exports TUICallCameraPosition
560
- * @module TUICallCameraPosition
561
- */
562
568
  declare enum TUICallCameraPosition {
563
569
  /**
564
570
  * @description 摄像头类型 - 前置摄像头
565
- * @memberOf module:TRTCCallCameraPosition
566
571
  * @example
567
572
  * tuiCallEngine.switchCamera(TUICallCameraPosition.FRONT); // 切换前置摄像头
568
573
  */
569
574
  FRONT = 0,
570
575
  /**
571
576
  * @description 摄像头类型 - 后置摄像头
572
- * @memberOf module:TRTCCallCameraPosition
573
577
  * @example
574
578
  * tuiCallEngine.switchCamera(TUICallCameraPosition.BACK); // 切换后置摄像头
575
579
  */
@@ -582,49 +586,39 @@ declare enum AUDIO_PLAYBACK_DEVICE {
582
586
  /**
583
587
  * 接入侧需要的呼叫类型列表,详细如下:
584
588
  * @memberof SDK
585
- *
586
589
  * @exports TUICallType
587
590
  * @module TUICallType
591
+ /**
592
+ * TUICallType 通话类型和设备类型常量定义
593
+ * @module TUICallType
588
594
  */
589
595
  declare const TUICallType: {
590
596
  /**
591
597
  * @description 通话类型 - 语音通话
592
598
  * @memberOf module:TUICallType
593
599
  * @example
594
- * let onError = function(error) {
595
- * console.log(error)
596
- * };
597
- * tuiCallEngine.call({userID: 'user1', type: TUICallType.AUDIO_CALL})
600
+ * tuiCallEngine.calls({userIDList: ['user1', 'user2'], type: TUICallType.AUDIO_CALL})
598
601
  */
599
602
  AUDIO_CALL: number;
600
603
  /**
601
604
  * @description 通话类型 - 视频通话
602
605
  * @memberOf module:TUICallType
603
606
  * @example
604
- * let onError = function(error) {
605
- * console.log(error)
606
- * };
607
- * tuiCallEngine.call({userID: 'user1', type: TUICallType.VIDEO_CALL})
607
+ * tuiCallEngine.calls({userIDList: ['user1', 'user2'], type: TUICallType.VIDEO_CALL})
608
608
  */
609
609
  VIDEO_CALL: number;
610
610
  /**
611
611
  * @description 设备类型 - 摄像头
612
612
  * @memberOf module:TUICallType
613
613
  * @example
614
- * let onError = function(error) {
615
- * console.log(error)
616
- * };
617
- * tuiCallEngine.getDeviceList(TUICallType.DEVCIED_CARMERA) // 获取摄像头列表
614
+ * tuiCallEngine.getDeviceList(TUICallType.DEVCIED_CARMERA)
618
615
  */
619
616
  DEVCIED_CAMERA: string;
620
617
  /**
621
618
  * @description 设备类型 - 麦克风
622
619
  * @memberOf module:TUICallType
623
620
  * @example
624
- * let onError = function(error) {
625
- * console.log(error)
626
- * };
627
- * tuiCallEngine.getDeviceList(TUICallType.DEVCIED_CARMERA) // 获取麦克风列表
621
+ * tuiCallEngine.getDeviceList(TUICallType.DEVCIED_CARMERA)
628
622
  */
629
623
  DEVCIED_MICROPHONES: string;
630
624
  };
@@ -646,11 +640,18 @@ declare enum CallEndReason {
646
640
  EndByServer = 9
647
641
  }
648
642
 
643
+ /**
644
+ * TUICallEngine 主入口文件
645
+ * @fileoverview TUICallEngine SDK 主要功能实现
646
+ * @private
647
+ */
648
+
649
649
  declare const VIDEO_ENCODER_MAP: any;
650
650
 
651
651
  /**
652
- * TUICallEngine 提供了 Call 的基本能力
653
- * @class TUICallEngine
652
+ * @namespace TUICallEngine
653
+ * @description @trtc/call-engine-lite-js 是基于腾讯云 [即时通信 IM](https://cloud.tencent.com/document/product/269/42440) 和 [实时音视频 TRTC](https://cloud.tencent.com/document/product/647/16788) 两项付费 PaaS 服务构建出的音视频通信组件,支持双人和多人场景下的音视频通话。
654
+ *
654
655
  */
655
656
  declare class TUICallEngine {
656
657
  static className: string;
@@ -708,25 +709,31 @@ declare class TUICallEngine {
708
709
  * - 注:SDK 会先 logout,然后释放资源
709
710
  * @memberof TUICallEngine
710
711
  * @returns {Promise}
712
+ * @example
713
+ * try {
714
+ * await tuiCallEngine.destroyInstance();
715
+ * // success
716
+ * } catch (error) {
717
+ * console.warn('destroyInstance error:', error);
718
+ * }
711
719
  */
712
720
  destroyInstance(): Promise<void>;
713
721
  /**
714
- * 登录 TUICallEngine
715
- * @param {object} options
716
- * @param {number} options.sdkAppId sdkAppId <br>
717
- * [实时音视频控制台](https://console.cloud.tencent.com/trtc) 单击 **应用管理** > **创建应用** 创建新应用之后,即可在 **应用信息** 中获取 sdkAppId 信息。
718
- * @param {string} options.userId 用户ID <br>
719
- * 建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
720
- * @param {string} options.userSig userSig 签名 <br>
721
- * 计算 userSig 的方式请参考 [UserSig 相关](https://cloud.tencent.com/document/product/647/17275)。
722
- * @returns {Promise<void>}
722
+ * 登录接口,所有功能需要先进行登录后才能使用
723
+ * @memberof TUICallEngine
724
+ * @param {Object} params - 登录配置
725
+ * @param {String} params.userID 当前用户的 ID,字符串类型,只允许包含英文字母(a-z A-Z)、数字(0-9)、连词符(-)和下划线(\_)
726
+ * @param {String} params.userSig 腾讯云设计的一种安全保护签名,获取方式请参考 [如何计算 UserSig](https://cloud.tencent.com/document/product/647/17275)。
727
+ * @param {String=} params.assetsPath AI 降噪依赖 denoiser-wasm.js,文件部署的 CDN 或者静态资源服务器的路径。具体详见:[使用 AI 降噪](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/zh-cn/tutorial-10-%E4%BD%BF%E7%94%A8_AI_%E9%99%8D%E5%99%AA.html)
728
+ * @returns {Promise}
723
729
  * @example
724
- * // 登录 TUICallEngine
725
- * await TUICallEngine.login({
726
- * sdkAppId: 0, // 填写您申请的 sdkAppId
727
- * userId: '', // 填写您业务对应的 userId
728
- * userSig: '', // 填写服务器或本地计算的 userSig
729
- * })
730
+ * try {
731
+ * await tuiCallEngine.login({userID: 'your userID', userSig: 'your userSig'});
732
+ * // success
733
+ * } catch (error) {
734
+ * console.warn('login error:', error);
735
+ * }
736
+ *
730
737
  */
731
738
  login(params: ILoginParams): Promise<void>;
732
739
  /**
@@ -734,150 +741,176 @@ declare class TUICallEngine {
734
741
  * @memberof TUICallEngine
735
742
  * @returns {Promise}
736
743
  * @example
737
- * await tuiCallEngine.logout();
744
+ * try {
745
+ * await tuiCallEngine.logout();
746
+ * // success
747
+ * } catch (error) {
748
+ * console.warn('logout error:', error);
749
+ * }
738
750
  */
739
751
  logout(): Promise<void>;
740
752
  /**
741
- * C2C邀请通话,被邀请方会收到 TUICallEvent.INVITED 事件<br>
742
- * - 注意:离线推送仅适用于终端(Android 或 iOS),Web 和 微信小程序不支持。
743
- * @memberof TUICallEngine
744
- * @param {Object} params - 拨打通话配置
745
- * @param {String} params.userID 被邀请方 userID
746
- * @param {Number} params.type 0-未知, 1-语音通话,2-视频通话
747
- * @param {Number=} params.timeout 0为不超时, 单位 s()(选填) - 默认 30s
748
- * @param {Number=} params.roomID 数字房间号, 范围 [1, 2147483647]。支持 v1.4.2+ 版本。
749
- * @param {String=} params.userData 扩展字段: 用于在邀请信令中增加扩展信息。支持 v1.4.2+ 版本。
750
- * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)-- 需 tsignaling 版本 >= 0.8.0
751
- * | name | Type | Description |
752
- * | :--- | :--- | :--- |
753
- * | title | string | 离线推送标题(选填) |
754
- * | description | string | 离线推送内容(选填) |
755
- * | androidOPPOChannelID | string | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID(选填) |
756
- * | extension | string | 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0)|
757
- * @returns {Promise}
758
- * @example
759
- * await tuiCallEngine.call({userID: 'user1', type: 1});
760
- */
761
- call(params: ICallParam): Promise<any>;
753
+ * 监听事件
754
+ * @memberof TUICallEngine
755
+ * @param {String} eventName 事件名
756
+ * @param {Function} callback 事件响应回调
757
+ * @param {Any} context 期望 callback 执行时的上下文
758
+ * @example
759
+ * let onError = function(error) {
760
+ * console.log(error);
761
+ * };
762
+ * tuiCallEngine.on(TUICallEvent.ERROR, onError, this);
763
+ */
764
+ on(event: TUICallEvent, callback: () => void, context: any): void;
762
765
  /**
763
- * IM群组邀请通话,被邀请方会收到 TUICallEvent.INVITED 事件<br>
764
- * 注意:离线推送仅适用于终端(Android 或 iOS),Web 和 微信小程序不支持。
766
+ * 取消监听事件
765
767
  * @memberof TUICallEngine
766
- * @param {Object} params - 群聊拨打通话配置
767
- * @param {Array} params.userIDList 邀请列表
768
- * @param {Number} params.type 0-未知, 1-语音通话,2-视频通话
769
- * @param {String} params.groupID IM 群组 ID
770
- * @param {Number=} params.timeout 0为不超时, 单位 s(秒)(选填) - 默认 30s
771
- * @param {Number=} params.roomID 数字房间号, 范围 [1, 2147483647]
772
- * @param {String=} params.userData 扩展字段: 用于在邀请信令中增加扩展信息
773
- * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)-- 需 tsignaling 版本 >= 0.8.0
774
- * | name | Type | Description |
775
- * | :--- | :--- | :--- |
776
- * | title | string | 离线推送标题(选填) |
777
- * | description | string | 离线推送内容(选填) |
778
- * | androidOPPOChannelID | string | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID (选填) |
779
- * | extension | string | 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0) |
780
- * @returns {Promise}
768
+ * @param {String} eventName 事件名
769
+ * @param {Function} callback 事件响应回调
770
+ * @param {Any} context 期望 callback 执行时的上下文
781
771
  * @example
782
- * await tuiCallEngine.groupCall({userIDList: ['user1', 'user2'], type: 1, groupID: 'IM群组 ID'});
772
+ * let onError = function(error) {
773
+ * console.log(error)
774
+ * };
775
+ * tuiCallEngine.off(TUICallEvent.ERROR, onError, this);
783
776
  */
784
- groupCall(params: IGroupCallParam): Promise<any>;
777
+ off(event: TUICallEvent, callback: () => void, context: any): void;
785
778
  /**
786
- * 多人通话<br>
779
+ * 发起单人或多人通话<br>
787
780
  * 注意:离线推送仅适用于终端(Android 或 iOS),Web 和 微信小程序不支持。
788
781
  * @memberof TUICallEngine
789
782
  * @param {Object} params - 群聊拨打通话配置
790
783
  * @param {Array} params.userIDList 邀请列表
791
- * @param {Number} params.type 0-未知, 1-语音通话,2-视频通话
784
+ * @param {Number} params.type 1-语音通话,2-视频通话
792
785
  * @param {String=} params.chatGroupID IM 群组 ID
793
786
  * @param {Number=} params.timeout 0为不超时, 单位 s(秒)(选填) - 默认 30s
794
787
  * @param {Number=} params.roomID 数字房间号, 范围 [1, 2147483647]
788
+ * @param {String=} params.strRoomID 字符串房间号
795
789
  * @param {String=} params.userData 扩展字段: 用于在邀请信令中增加扩展信息
796
- * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)-- 需 tsignaling 版本 >= 0.8.0
790
+ * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)
797
791
  * | name | Type | Description |
798
792
  * | :--- | :--- | :--- |
799
793
  * | title | string | 离线推送标题(选填) |
800
794
  * | description | string | 离线推送内容(选填) |
801
795
  * | androidOPPOChannelID | string | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID (选填) |
802
- * | extension | string | 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0) |
796
+ * | extension | string | 离线推送透传内容(选填) |
797
+ * | ignoreIOSBadge | boolean | 离线推送忽略 badge 计数(仅对 iOS 生效)(选填) |
798
+ * | iOSSound | string | 离线推送声音设置(仅对 iOS 生效)(选填) |
799
+ * | androidSound | string | 离线推送声音设置(仅对 Android 生效)(选填) |
800
+ * | androidVIVOClassification | number | VIVO 推送消息分类(选填) |
801
+ * | androidXiaoMiChannelID | string | 小米手机 8.0 系统及以上的渠道 ID(选填) |
802
+ * | androidFCMChannelID | string | FCM 通道手机 8.0 系统及以上的渠道 ID(选填) |
803
+ * | androidHuaWeiCategory | string | 华为推送消息分类(选填) |
804
+ * | isDisablePush | boolean | 是否关闭推送(默认开启推送)(选填) |
805
+ * | iOSPushType | number | iOS 离线推送类型,默认:APNs(选填) |
803
806
  * @returns {Promise}
804
807
  * @example
805
- * await tuiCallEngine.calls({userIDList: ['user1', 'user2'], type: 1, chatGroupID: 'IM群组 ID'});
808
+ * try {
809
+ * await tuiCallEngine.calls({
810
+ * userIDList: ['user1', 'user2'],
811
+ * type: 1,
812
+ * });
813
+ * // success
814
+ * } catch (error) {
815
+ * console.warn('calls error:', error);
816
+ * }
806
817
  */
807
818
  calls(params: ICallsParam): Promise<any>;
808
819
  /**
809
- * 当您作为被邀请方收到 TUICallEvent.INVITED 事件的回调时,可以调用该接口接听来电
820
+ * 主动加入通话
821
+ * @param params
822
+ * @param {String} params.callId 当前通话的唯一 id
823
+ * @example
824
+ * try {
825
+ * await tuiCallEngine.join({
826
+ * callId: 'call_123456'
827
+ * });
828
+ * // success
829
+ * } catch (error) {
830
+ * console.warn('join error:', error);
831
+ * }
832
+ */
833
+ join(params: IJoinParam): Promise<void>;
834
+ /**
835
+ * 当您作为被邀请方收到 TUICallEvent.ON_CALL_RECEIVED 事件的回调时,可以调用该接口接听来电
810
836
  * @memberof TUICallEngine
811
837
  * @returns {Promise}
812
838
  * @example
813
- * tuiCallEngine.on(TUICallEvent.INVITED, () => {
814
- * tuiCallEngine.accept().then(() => {
815
- * //success
816
- * }).catch(error => {
839
+ * tuiCallEngine.on(TUICallEvent.ON_CALL_RECEIVED, async () => {
840
+ * try {
841
+ * await tuiCallEngine.accept();
842
+ * // success
843
+ * } catch (error) {
817
844
  * console.warn('accept error:', error);
818
- * });
845
+ * }
819
846
  * });
820
847
  */
821
848
  accept(): Promise<any>;
822
- reject(): Promise<any>;
823
- hangup(): Promise<any>;
824
849
  /**
825
- * IM群组邀请通话,被邀请方会收到 TUICallEvent.INVITED 事件<br>
826
- * 注意:离线推送仅适用于终端(Android 或 iOS),Web 和 微信小程序不支持。
850
+ * 当您作为被邀请方收到 TUICallEvent.INVITED 事件的回调时,可以调用该接口拒绝来电
827
851
  * @memberof TUICallEngine
828
- * @param {Object} params - 群聊拨打通话配置
829
- * @param {Array} params.userIDList 邀请列表
830
- * @param {Number} params.type 0-未知, 1-语音通话,2-视频通话
831
- * @param {String} params.groupID IM 群组 ID
832
- * @param {Number=} params.timeout 0为不超时, 单位 s(秒)(选填) - 默认 30s
833
- * @param {Number=} params.roomID 数字房间号, 范围 [1, 2147483647]
834
- * @param {String=} params.userData 扩展字段: 用于在邀请信令中增加扩展信息
835
- * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)-- 需 tsignaling 版本 >= 0.8.0
836
- * | name | Type | Description |
837
- * | :--- | :--- | :--- |
838
- * | title | string | 离线推送标题(选填) |
839
- * | description | string | 离线推送内容(选填) |
840
- * | androidOPPOChannelID | string | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID (选填) |
841
- * | extension | string | 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0) |
842
852
  * @returns {Promise}
843
853
  * @example
844
- * await tuiCallEngine.groupCall({userIDList: ['user1', 'user2'], type: 1, groupID: 'IM群组 ID'});
854
+ * tuiCallEngine.on(TUICallEvent.INVITED, async () => {
855
+ * try {
856
+ * await tuiCallEngine.reject();
857
+ * // success
858
+ * } catch (error) {
859
+ * console.warn('reject error:', error);
860
+ * }
861
+ * });
845
862
  */
846
- inviteUser(params: IInviteUserParam): Promise<void>;
863
+ reject(): Promise<any>;
847
864
  /**
848
- * IM群组邀请通话,被邀请方会收到 TUICallEvent.INVITED 事件<br>
849
- * 注意:离线推送仅适用于终端(Android 或 iOS),Web 和 微信小程序不支持。
865
+ * 挂断当前通话,当您处于通话中,可以调用该函数结束通话;当您处于呼叫状态时,可以调用该函数取消通话
866
+ * 1. 当您处于通话中,可以调用该接口结束通话
867
+ * 2. 当未拨通时, 可用来取消通话
850
868
  * @memberof TUICallEngine
851
- * @param {Object} params - 群聊拨打通话配置
852
- * @param {Array} params.userIDList 邀请列表
853
- * @param {Number} params.type 0-未知, 1-语音通话,2-视频通话
854
- * @param {String} params.groupID IM 群组 ID
855
- * @param {Number=} params.timeout 0为不超时, 单位 s(秒)(选填) - 默认 30s
856
- * @param {Number=} params.roomID 数字房间号, 范围 [1, 2147483647]
857
- * @param {String=} params.userData 扩展字段: 用于在邀请信令中增加扩展信息
858
- * @param {Object=} params.offlinePushInfo - 自定义离线消息推送(选填)-- 需 tsignaling 版本 >= 0.8.0
859
- * | name | Type | Description |
860
- * | :--- | :--- | :--- |
861
- * | title | string | 离线推送标题(选填) |
862
- * | description | string | 离线推送内容(选填) |
863
- * | androidOPPOChannelID | string | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID (选填) |
864
- * | extension | string | 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0) |
865
869
  * @returns {Promise}
866
870
  * @example
867
- * await tuiCallEngine.groupCall({userIDList: ['user1', 'user2'], type: 1, groupID: 'IM群组 ID'});
871
+ * try {
872
+ * await tuiCallEngine.hangup();
873
+ * // success
874
+ * } catch (error) {
875
+ * console.warn('hangup error:', error);
876
+ * }
868
877
  */
869
- joinInGroupCall(params: IJoinInGroupCallParam): Promise<void>;
878
+ hangup(): Promise<any>;
870
879
  /**
871
- * call 3.0 新增的 “中途加入” 接口
872
- * @param params 入参
873
- * @param {String} params.callId 当前通话的唯一 id
880
+ * 您可以调用该接口开启摄像头,处于通话中的用户会收到 USER_VIDEO_AVAILABLE 回调
881
+ * @memberof TUICallEngine
882
+ * @param {string} videoViewDomID 该用户数据将渲染到该 dom id 节点里
883
+ * @param {boolean=} isFrontCamera 前后置摄像头,true 表示前置摄像头。**仅支持移动端上使用**
884
+ * @returns {Promise}
885
+ * 注意:
886
+ * - 当传入 string 类型的 videoViewDomID 时,需要确保 videoViewDomID 在 DOM 中,否则调用接口会报错。
887
+ * - 业务侧可自行调整该 DOM 元素的 css 宽高来控制 video 标签显示的宽高。
888
+ * @example
889
+ * // 'localView' is the id value corresponding to the div tag
890
+ * try {
891
+ * await tuiCallEngine.openCamera('localView');
892
+ * // success
893
+ * } catch (error) {
894
+ * console.warn('openCamera error:', error);
895
+ * }
874
896
  */
875
- join(params: IJoinParam): Promise<void>;
876
897
  openCamera(videoViewDomID: string, isFrontCamera?: boolean): Promise<void>;
898
+ /**
899
+ * 关闭摄像头
900
+ * @memberof TUICallEngine
901
+ * @returns {Promise}
902
+ * @example
903
+ * try {
904
+ * await tuiCallEngine.closeCamera();
905
+ * // success
906
+ * } catch (error) {
907
+ * console.warn('closeCamera error:', error);
908
+ * }
909
+ */
877
910
  closeCamera(): Promise<void>;
878
911
  /**
879
912
  * 切换前后置摄像头<br>
880
- * **Note: v3.0.0+ 支持,且该接口仅在移动端使用生效。**
913
+ * - **注意**: 该接口仅在移动端使用生效。
881
914
  * @memberof TUICallEngine
882
915
  * @param {TUICallCameraPosition} cameraPosition 摄像头类型
883
916
  * - TUICallCameraPosition.FRONT 前置摄像头
@@ -902,12 +935,13 @@ declare class TUICallEngine {
902
935
  * @returns {Promise}
903
936
  * @example
904
937
  * const profile = '720p';
905
- * // 设置视频质量为 720p
906
- * tuiCallEngine.setVideoQuality(profile).then(() => {
938
+ * // Set video quality to 720p
939
+ * try {
940
+ * await tuiCallEngine.setVideoQuality(profile);
907
941
  * // success
908
- * }).catch(error => {
909
- * console.warn('setVideoQuality error:', error)
910
- * });
942
+ * } catch (error) {
943
+ * console.warn('setVideoQuality error:', error);
944
+ * }
911
945
  */
912
946
  setVideoQuality(profile: string): Promise<void>;
913
947
  /**
@@ -919,8 +953,6 @@ declare class TUICallEngine {
919
953
  * - cover 优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,则视频流会按照显示视窗的比例进行周边裁剪或图像拉伸后填满视窗。
920
954
  * - fill 保证视窗被填满的同时保证视频内容全部显示,但是不保证视频尺寸比例不变。视频的宽高会被拉伸至和视窗尺寸一致。
921
955
  * 播放视频流默认使用 cover 模式。
922
- * @param {String} params.muted 是否需要 mute 声音, **v3.0.0 废弃**
923
- * - 对于本地流,muted 默认为 true,防止播放从麦克风采集的声音。
924
956
  * @param {TRTCVideoMirrorType} params.mirror 是否开启视频镜像预览
925
957
  * @param {TRTCVideoRotation} params.rotation 视频画面旋转方向
926
958
  * 注意
@@ -928,7 +960,7 @@ declare class TUICallEngine {
928
960
  * - 对于远端音视频流,默认关闭镜像预览。
929
961
  * - 对于屏幕分享流,不支持开启镜像预览。
930
962
  * - 该参数只对本地预览有效,推流是没有镜像效果的。
931
- * @examples
963
+ * @example
932
964
  * const params = {
933
965
  * userID: '132',
934
966
  * rotation: 0, // 旋转
@@ -943,11 +975,12 @@ declare class TUICallEngine {
943
975
  * @memberof TUICallEngine
944
976
  * @returns {Promise}
945
977
  * @example
946
- * tuiCallEngine.openMicrophone().then(() => {
978
+ * try {
979
+ * await tuiCallEngine.openMicrophone();
947
980
  * // success
948
- * }).catch(error => {
949
- * console.warn('openMicrophone error:', error)
950
- * });
981
+ * } catch (error) {
982
+ * console.warn('openMicrophone error:', error);
983
+ * }
951
984
  */
952
985
  openMicrophone(): Promise<void>;
953
986
  /**
@@ -955,13 +988,32 @@ declare class TUICallEngine {
955
988
  * @memberof TUICallEngine
956
989
  * @returns {Promise}
957
990
  * @example
958
- * tuiCallEngine.closeMicrophone().then(() => {
991
+ * try {
992
+ * await tuiCallEngine.closeMicrophone();
959
993
  * // success
960
- * }).catch(error => {
961
- * console.warn('closeMicrophone error:', error)
962
- * });
994
+ * } catch (error) {
995
+ * console.warn('closeMicrophone error:', error);
996
+ * }
963
997
  */
964
998
  closeMicrophone(): Promise<void>;
999
+ /**
1000
+ * 开始渲染远端用户视频流
1001
+ * @memberof TUICallEngine
1002
+ * @param {IStartRemoteViewParam} params 远端视频渲染参数
1003
+ * @param {string} params.userID 远端用户ID
1004
+ * @param {string} params.videoViewDomID 视频渲染的 DOM 元素 ID
1005
+ * @returns {Promise}
1006
+ * @example
1007
+ * try {
1008
+ * await tuiCallEngine.startRemoteView({
1009
+ * userID: 'remote_user_123',
1010
+ * videoViewDomID: 'remoteVideo'
1011
+ * });
1012
+ * // success
1013
+ * } catch (error) {
1014
+ * console.warn('startRemoteView error:', error);
1015
+ * }
1016
+ */
965
1017
  startRemoteView(params: IStartRemoteViewParam): Promise<void>;
966
1018
  /**
967
1019
  * 停止远端画面渲染
@@ -970,17 +1022,17 @@ declare class TUICallEngine {
970
1022
  * @param {String} params.userID 用户id
971
1023
  * @returns {Promise}
972
1024
  * @example
973
- * let promise = tuiCallEngine.stopRemoteView({userID: 'user1'});
974
- * promise.then(() => {
975
- * //success
976
- * }).catch(error => {
977
- * console.warn('stopRemoteView error:', error)
978
- * });
1025
+ * try {
1026
+ * await tuiCallEngine.stopRemoteView({userID: 'user1'});
1027
+ * // success
1028
+ * } catch (error) {
1029
+ * console.warn('stopRemoteView error:', error);
1030
+ * }
979
1031
  */
980
1032
  stopRemoteView(params: IStopRemoteViewParam): Promise<void>;
981
1033
  /**
982
1034
  * 开关/设置背景虚化<br>
983
- * **Note: v3.0.5+ 支持,暂不支持 H5,后续支持。**
1035
+ * - **注意**: v3.0.5+ 支持,暂不支持 H5,后续支持。
984
1036
  * @param {number} blurLevel 虚化等级, 0 - 表示关闭背景虚化。目前不支持 blurLevel 等级的设置,后续支持。使用时需要 blurLevel > 0
985
1037
  * @memberof TUICallEngine
986
1038
  * @returns {Promise}
@@ -990,7 +1042,7 @@ declare class TUICallEngine {
990
1042
  setBlurBackground(blurLevel: number): Promise<void>;
991
1043
  /**
992
1044
  * 开关/设置图片背景虚化<br>
993
- * **Note: v3.0.5+ 支持,暂不支持 H5,后续支持。**
1045
+ * - **注意**: v3.0.5+ 支持,暂不支持 H5,后续支持。
994
1046
  * @param {string} imagePath 图片路径(可以是 url,也可以是相对路径)。imagePath = '' 表示关闭图片背景虚化
995
1047
  * @memberof TUICallEngine
996
1048
  * @returns {Promise}
@@ -1031,13 +1083,12 @@ declare class TUICallEngine {
1031
1083
  }): Promise<void>;
1032
1084
  /**
1033
1085
  * 支持 webrtc 的基础美颜
1034
- * @param {TRTCBeautyStyle} style 磨皮算法,有“光滑”(TRTCBeautyStyleSmooth=0)和“自然”(TRTCBeautyStyleNature=1)两种算法, 默认为 TRTCBeautyStyleNature
1086
+ * @param {TRTCBeautyStyle} style 磨皮算法,有"光滑"(TRTCBeautyStyleSmooth=0)和"自然"(TRTCBeautyStyleNature=1)两种算法, 默认为 TRTCBeautyStyleNature
1035
1087
  * @param {number} beautyLevel 美颜级别,取值范围 [0 - 9],0表示关闭,1 - 9值越大,效果越明显。
1036
1088
  * @param {number} whitenessLevel 美白级别,取值范围 [0 - 9],0表示关闭,1 - 9值越大,效果越明显。
1037
1089
  * @param {number} ruddinessLevel 红润级别,取值范围 [0 - 9],0表示关闭,1 - 9值越大,效果越明显。
1038
1090
  * @returns {Promise}
1039
1091
  * @example
1040
- * import {} from '@trtc/call-engine-lite-js';
1041
1092
  * await setBeautyLevel({
1042
1093
  * type: TRTCBeautyStyle.TRTCBeautyStyleSmooth,
1043
1094
  * beautyLevel: 0.3,
@@ -1059,54 +1110,13 @@ declare class TUICallEngine {
1059
1110
  * tuiCallEngine.setLogLevel(0);
1060
1111
  */
1061
1112
  setLogLevel(level: LOG_LEVEL): void;
1062
- /**
1063
- * login() 方法的别名接口,参数一致
1064
- * @memberof TUICallEngine
1065
- * @returns {Promise}
1066
- */
1067
- init(params: ILoginParams): Promise<void>;
1068
- /**
1069
- * 监听 callEngine 的事件
1070
- * @param event TUICallEvent
1071
- * @param func function
1072
- * @returns {void}
1073
- * @example
1074
- * const callEngine = new TUICallEngine();
1075
- * callEngine.on(event, func);
1076
- */
1077
- on(event: TUICallEvent, callback: () => void, context: any): void;
1078
- /**
1079
- * 移除监听 callEngine 的事件
1080
- * @param event TUICallEvent
1081
- * @param func function
1082
- * @returns {void}
1083
- * @example
1084
- * const callEngine = new TUICallEngine();
1085
- * callEngine.off(event, func);
1086
- */
1087
- off(event: TUICallEvent, callback: () => void, context: any): void;
1088
- /**
1089
- * 获取 trtcCloud 实例
1090
- * @returns {TRTCCloud} trtcCloud
1091
- * web 端 trtcCloud 能力请查看:https://web.sdk.qcloud.com/trtc/webrtc/trtcCloud/doc/TRTCCloud.html
1092
- *
1093
- * @example
1094
- * const callEngine = new TUICallEngine();
1095
- * const trtcCloud = callEngine.getTRTCCloud();
1096
- */
1097
1113
  getTRTCCloudInstance(): TRTCCloud;
1098
- /**
1099
- * 获取 tim 实例
1100
- * @returns {TIM} tim
1101
- * web 端 tim 能力请查看:https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html
1102
- * @example
1103
- */
1104
1114
  getTim(): ChatSDK;
1105
1115
  /**
1106
1116
  * 静态实验性接口
1107
1117
  * @private
1108
1118
  * @param jsonStr jason 字符串
1109
- * @returns
1119
+ * @returns {Promise<any>} 返回实验性 API 的执行结果
1110
1120
  */
1111
1121
  static callExperimentalAPI(jsonStr: string): Promise<void>;
1112
1122
  /**
@@ -1126,11 +1136,12 @@ declare class TUICallEngine {
1126
1136
  * - 'microphones' 麦克风,后续废弃 'microphones'。v3.0.0+ 支持传入 'microphone'
1127
1137
  * - 'speaker' 扬声器,v3.0.0+ 才支持该参数
1128
1138
  * @example
1129
- * tuiCallEngine.getDeviceList('camera').then((devices)=>{ // 获取摄像头列表
1130
- * console.log(devices)
1131
- * }).catch(error => {
1132
- * console.warn('getDeviceList error:', error)
1133
- * });
1139
+ * try {
1140
+ * const devices = await tuiCallEngine.getDeviceList('camera'); // Get camera list
1141
+ * console.log(devices);
1142
+ * } catch (error) {
1143
+ * console.warn('getDeviceList error:', error);
1144
+ * }
1134
1145
  */
1135
1146
  getDeviceList(deviceType: DEVICE_TYPE): Promise<TRTCDeviceInfo[]>;
1136
1147
  /**
@@ -1140,36 +1151,26 @@ declare class TUICallEngine {
1140
1151
  * @param {string} params.deviceType 需要切换的设备类型
1141
1152
  * - 'video' 摄像头, 后续废弃 'video'。v3.0.0+ 支持传入 'camera' 切换摄像头。
1142
1153
  * - 'audio' 麦克风, 后续废弃 'audio'。v3.0.0+ 支持传入 'microphone' 切换麦克风。
1143
- * - 'speaker' 扬声器, v3.0.0+ 支持
1154
+ * - 'speaker' 扬声器。
1144
1155
  * @param {string} params.deviceId 需要切换的设备ID
1145
1156
  * - 摄像头设备标识通过 {@link TUICallEngine.getDeviceList getDeviceList('camera')} 获取。
1146
1157
  * - 麦克风设备标识通过 {@link TUICallEngine.getDeviceList getDeviceList('microphone')} 获取。
1147
1158
  * - 扬声器设备标识通过 {@link TUICallEngine.getDeviceList getDeviceList('speaker')} 获取。
1148
1159
  * @example
1149
- * let promise = tuiCallEngine.switchDevice({deviceType: 'camera', deviceId: cameras[0].deviceId}) // 切换设备
1150
- * promise.then(() => {
1160
+ * try {
1161
+ * await tuiCallEngine.switchDevice({deviceType: 'camera', deviceId: cameras[0].deviceId}); // Switch device
1151
1162
  * // success
1152
- * }).catch(error => {
1153
- * console.warn('switchDevice error:', error)
1154
- * });
1163
+ * } catch (error) {
1164
+ * console.warn('switchDevice error:', error);
1165
+ * }
1155
1166
  */
1156
1167
  switchDevice(params: ISwitchDeviceParams): Promise<boolean>;
1157
1168
  private _updateCurrentDevice;
1158
- /**
1159
- * 当前通话类型切换
1160
- * - 仅支持1v1通话过程中使用
1161
- * - 失败监听 ERROR 事件,code: 60001
1162
- * @memberof TUICallEngine
1163
- * @param {String} newMediaType 通话类型
1164
- * - 1 语音通话
1165
- * - 2 视频通话
1166
- * @example
1167
- * tuiCallEngine.switchCallMediaType(1).then(() => { // 视频通话切换语音通话
1168
- * // success
1169
- * }).catch(error => {
1170
- * console.warn('switchCallMediaType error:', error)
1171
- * });
1172
- */
1169
+ init(params: ILoginParams): Promise<void>;
1170
+ call(params: ICallParam): Promise<any>;
1171
+ groupCall(params: IGroupCallParam): Promise<any>;
1172
+ inviteUser(params: IInviteUserParam): Promise<void>;
1173
+ joinInGroupCall(params: IJoinInGroupCallParam): Promise<void>;
1173
1174
  switchCallMediaType(newMediaType: number): Promise<void>;
1174
1175
  private _checkDevicePermission;
1175
1176
  private _getMediaDevicesAuth;
@@ -1188,5 +1189,4 @@ declare class TUICallEngine {
1188
1189
  private _setDevicePermission;
1189
1190
  }
1190
1191
 
1191
- export { AUDIO_PLAYBACK_DEVICE, CallEndReason, TUIAudioQuality, TUICallCameraPosition, TUICallEngine, TUICallEvent, TUICallType, TUICamera, TUIErrorCode, TUIKickedOutOfRoomReason, TUINetworkQuality, TUIResolutionMode, TUIRoomDeviceMangerEvents, TUIVideoQuality, VIDEO_ENCODER_MAP, TUICallEngine as default };
1192
- export type { ILoginParams, TUIDeviceInfo, TUINetwork, TUIVideoEncoderParams };
1192
+ export { AUDIO_PLAYBACK_DEVICE, CallEndReason, ILoginParams, TUIAudioQuality, TUICallCameraPosition, TUICallEngine, TUICallEvent, TUICallType, TUICamera, TUIDeviceInfo, TUIErrorCode, TUIKickedOutOfRoomReason, TUINetwork, TUINetworkQuality, TUIResolutionMode, TUIRoomDeviceMangerEvents, TUIVideoEncoderParams, TUIVideoQuality, VIDEO_ENCODER_MAP, TUICallEngine as default };