netender-web-sdk 1.0.0 → 1.1.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.
Files changed (79) hide show
  1. package/README.md +31 -45
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.umd.js +1 -1
  5. package/dist/meeting-kit-lite/src/config.d.ts +29 -0
  6. package/dist/meeting-kit-lite/src/kit/impl/account_manager.d.ts +45 -0
  7. package/dist/meeting-kit-lite/src/kit/impl/annotation_manager.d.ts +22 -0
  8. package/dist/meeting-kit-lite/src/kit/impl/audio_manager.d.ts +44 -0
  9. package/dist/meeting-kit-lite/src/kit/impl/breakout_manager.d.ts +22 -0
  10. package/dist/meeting-kit-lite/src/kit/impl/chatroom_manager.d.ts +25 -0
  11. package/dist/meeting-kit-lite/src/kit/impl/interpretation_manager.d.ts +26 -0
  12. package/dist/meeting-kit-lite/src/kit/impl/invite_manager.d.ts +28 -0
  13. package/dist/meeting-kit-lite/src/kit/impl/meeting_kit.d.ts +141 -0
  14. package/dist/meeting-kit-lite/src/kit/impl/meeting_manager.d.ts +65 -0
  15. package/dist/meeting-kit-lite/src/kit/impl/member_manager.d.ts +41 -0
  16. package/dist/meeting-kit-lite/src/kit/impl/notification_manager.d.ts +22 -0
  17. package/dist/meeting-kit-lite/src/kit/impl/plugin_manager.d.ts +19 -0
  18. package/dist/meeting-kit-lite/src/kit/impl/pre_meeting_manager.d.ts +35 -0
  19. package/dist/meeting-kit-lite/src/kit/impl/quality_monitor_manager.d.ts +23 -0
  20. package/dist/meeting-kit-lite/src/kit/impl/record_manager.d.ts +18 -0
  21. package/dist/meeting-kit-lite/src/kit/impl/screen_share_manager.d.ts +22 -0
  22. package/dist/meeting-kit-lite/src/kit/impl/security_manager.d.ts +108 -0
  23. package/dist/meeting-kit-lite/src/kit/impl/transcription_manager.d.ts +21 -0
  24. package/dist/meeting-kit-lite/src/kit/impl/video_manager.d.ts +37 -0
  25. package/dist/meeting-kit-lite/src/kit/impl/waitingRoom_manager.d.ts +29 -0
  26. package/dist/meeting-kit-lite/src/kit/impl/whiteboard_manager.d.ts +23 -0
  27. package/dist/meeting-kit-lite/src/kit/index.d.ts +26 -0
  28. package/dist/meeting-kit-lite/src/kit/interface/account_manager.d.ts +56 -0
  29. package/dist/meeting-kit-lite/src/kit/interface/annotation_manager.d.ts +57 -0
  30. package/dist/meeting-kit-lite/src/kit/interface/audio_manager.d.ts +171 -0
  31. package/dist/meeting-kit-lite/src/kit/interface/breakout_manager.d.ts +64 -0
  32. package/dist/meeting-kit-lite/src/kit/interface/chatroom_manager.d.ts +190 -0
  33. package/dist/meeting-kit-lite/src/kit/interface/interpretation_manager.d.ts +61 -0
  34. package/dist/meeting-kit-lite/src/kit/interface/invite_manager.d.ts +77 -0
  35. package/dist/meeting-kit-lite/src/kit/interface/meeting_kit.d.ts +150 -0
  36. package/dist/meeting-kit-lite/src/kit/interface/meeting_manager.d.ts +91 -0
  37. package/dist/meeting-kit-lite/src/kit/interface/member_manager.d.ts +125 -0
  38. package/dist/meeting-kit-lite/src/kit/interface/notification_manager.d.ts +60 -0
  39. package/dist/meeting-kit-lite/src/kit/interface/plugin_manager.d.ts +43 -0
  40. package/dist/meeting-kit-lite/src/kit/interface/pre_meeting_manager.d.ts +67 -0
  41. package/dist/meeting-kit-lite/src/kit/interface/quality_monitor_manager.d.ts +70 -0
  42. package/dist/meeting-kit-lite/src/kit/interface/record_manager.d.ts +41 -0
  43. package/dist/meeting-kit-lite/src/kit/interface/screen_share_manager.d.ts +43 -0
  44. package/dist/meeting-kit-lite/src/kit/interface/security_manager.d.ts +84 -0
  45. package/dist/meeting-kit-lite/src/kit/interface/transcription_manager.d.ts +35 -0
  46. package/dist/meeting-kit-lite/src/kit/interface/video_manager.d.ts +121 -0
  47. package/dist/meeting-kit-lite/src/kit/interface/waitingRoom_manager.d.ts +58 -0
  48. package/dist/meeting-kit-lite/src/kit/interface/whiteboard_manager.d.ts +85 -0
  49. package/dist/meeting-kit-lite/src/types/index.d.ts +2 -0
  50. package/dist/meeting-kit-lite/src/types/innerType.d.ts +1919 -0
  51. package/dist/meeting-kit-lite/src/types/type.d.ts +1206 -0
  52. package/dist/meeting-kit-lite/src/utils/common.d.ts +11 -0
  53. package/dist/meeting-kit-lite/src/utils/highAvailableRequest.d.ts +10 -0
  54. package/dist/meeting-kit-lite/src/utils/index.d.ts +13 -0
  55. package/dist/meeting-kit-lite/src/utils/logDebug.d.ts +62 -0
  56. package/dist/meeting-kit-lite/src/utils/report.d.ts +8 -0
  57. package/dist/meeting-kit-lite/src/utils/throwError.d.ts +6 -0
  58. package/dist/tender-sdk-web/src/index.d.ts +14 -0
  59. package/dist/tender-sdk-web/src/interface/account_manager.d.ts +42 -0
  60. package/dist/tender-sdk-web/src/interface/audio_manager.d.ts +146 -0
  61. package/dist/tender-sdk-web/src/interface/chatroom_manager.d.ts +178 -0
  62. package/dist/tender-sdk-web/src/interface/invite_manager.d.ts +27 -0
  63. package/dist/tender-sdk-web/src/interface/meeting_kit.d.ts +71 -0
  64. package/dist/tender-sdk-web/src/interface/meeting_manager.d.ts +65 -0
  65. package/dist/tender-sdk-web/src/interface/member_manager.d.ts +85 -0
  66. package/dist/tender-sdk-web/src/interface/pre_meeting_manager.d.ts +36 -0
  67. package/dist/tender-sdk-web/src/interface/screen_share_manager.d.ts +35 -0
  68. package/dist/tender-sdk-web/src/interface/security_manager.d.ts +17 -0
  69. package/dist/tender-sdk-web/src/interface/types.d.ts +563 -0
  70. package/dist/tender-sdk-web/src/interface/video_manager.d.ts +97 -0
  71. package/dist/tender-sdk-web/src/interface/waitingRoom_manager.d.ts +51 -0
  72. package/dist/tender-sdk-web/src/types/index.d.ts +2 -0
  73. package/dist/tender-sdk-web/src/types/innerType.d.ts +344 -0
  74. package/dist/tender-sdk-web/src/types/type.d.ts +213 -0
  75. package/dist/tender-sdk-web/src/types_bak/index.d.ts +2 -0
  76. package/dist/tender-sdk-web/src/types_bak/innerType.d.ts +309 -0
  77. package/dist/tender-sdk-web/src/types_bak/type.d.ts +402 -0
  78. package/package.json +10 -7
  79. package/dist/index.d.ts +0 -3
@@ -0,0 +1,60 @@
1
+ import { NECustomSessionMessage, NEResult } from 'neroom-types';
2
+ export type NotificationMessage = NECustomSessionMessage & {
3
+ content?: {
4
+ data: {
5
+ meetingId: string;
6
+ notifyCard: {
7
+ notifyCenterCardClickAction: string;
8
+ header: {
9
+ icon: string;
10
+ title: string;
11
+ subject: string;
12
+ };
13
+ body: {
14
+ title: string;
15
+ content: string;
16
+ };
17
+ popUpCardBottomButton?: {
18
+ name: string;
19
+ action: string;
20
+ }[];
21
+ };
22
+ timestamp: number;
23
+ };
24
+ };
25
+ };
26
+ export interface NotificationManager {
27
+ /**
28
+ * 获取通知列表
29
+ */
30
+ getNotificationMessageList(): Promise<NEResult<NotificationMessage[]>>;
31
+ /**
32
+ * 删除某条通知
33
+ * @param messageId 消息ID
34
+ */
35
+ removeNotificationMessage(messageId: string): Promise<NEResult<void>>;
36
+ /**
37
+ * 标记通知为已读
38
+ * @param messageId 消息ID
39
+ */
40
+ markAsRead(messageId: string): Promise<NEResult<void>>;
41
+ /**
42
+ * 标记所有通知为已读
43
+ */
44
+ markAllAsRead(): Promise<NEResult<void>>;
45
+ /**
46
+ * 添加监听器
47
+ * @param listener 监听器
48
+ */
49
+ addListener(listener: {
50
+ onNotificationMessageReceived?: (message: NotificationMessage) => void;
51
+ }): void;
52
+ /**
53
+ * 移除监听器
54
+ * @param listener 监听器
55
+ */
56
+ removeListener(listener: {
57
+ onNotificationMessageReceived?: (message: NotificationMessage) => void;
58
+ }): void;
59
+ }
60
+ export default NotificationManager;
@@ -0,0 +1,43 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export interface PluginInfo {
3
+ configDetails: {
4
+ availableDefault: boolean;
5
+ paid: boolean;
6
+ showInToolbar: boolean;
7
+ };
8
+ description: string;
9
+ homeUrl: string;
10
+ icon: {
11
+ defaultIcon: string;
12
+ mobileIcon: {
13
+ icon_dark: string;
14
+ icon_light: string;
15
+ };
16
+ notifyIcon: string;
17
+ pcIcon: {
18
+ icon_dark: string;
19
+ icon_light: string;
20
+ };
21
+ };
22
+ name: string;
23
+ notifySenderAccid: string;
24
+ pluginId: string;
25
+ type: number;
26
+ }
27
+ export interface PluginManager {
28
+ /**
29
+ * 获取插件列表
30
+ */
31
+ getPluginList(): Promise<NEResult<PluginInfo[]>>;
32
+ /**
33
+ * 获取插件认证码
34
+ */
35
+ getPluginAuthCode(pluginId: string): Promise<NEResult<{
36
+ authCode: string;
37
+ }>>;
38
+ /**
39
+ * 激活插件
40
+ */
41
+ getAIAssistantToken(): Promise<NEResult<string>>;
42
+ }
43
+ export default PluginManager;
@@ -0,0 +1,67 @@
1
+ import { NEMeetingInfo, MeetingListItem, NEHistoryMeetingDetail, NEMeetingAppNoticeTip, NEMeetingCreateOptions, NEMeetingGetListBySizeParams, NEMeetingGetListOptions, NEScheduledMember } from '..';
2
+ export interface PreMeetingManager {
3
+ /**
4
+ * 获取会议列表(已弃用)
5
+ * @param options 获取会议列表选项
6
+ * @deprecated 已弃用,请使用getMeetingListBySize代替
7
+ */
8
+ getMeetingList(options: NEMeetingGetListOptions): Promise<NEMeetingInfo[]>;
9
+ /**
10
+ * 获取会议列表
11
+ * @param options 获取会议列表选项
12
+ */
13
+ getMeetingListBySize(options: NEMeetingGetListBySizeParams): Promise<NEMeetingInfo[]>;
14
+ /**
15
+ * 获取应用提示
16
+ */
17
+ getAppTips(): Promise<{
18
+ tips: NEMeetingAppNoticeTip[];
19
+ curTime: number;
20
+ appKey: string;
21
+ }>;
22
+ /**
23
+ * 预约房间
24
+ * @param options 预约会议选项
25
+ */
26
+ scheduleMeeting(options: NEMeetingCreateOptions): Promise<NEMeetingInfo>;
27
+ /**
28
+ * 修改预定房间
29
+ * @param meetingId 会议ID
30
+ * @param options 修改选项
31
+ */
32
+ editMeeting(meetingId: number | string, options: Partial<NEMeetingCreateOptions>): Promise<void>;
33
+ /**
34
+ * 取消预定房间
35
+ * @param meetingId 会议ID
36
+ * @param cancelRecurringMeeting 是否取消重复会议
37
+ */
38
+ cancelMeeting(meetingId: number | string, cancelRecurringMeeting?: boolean): Promise<void>;
39
+ /**
40
+ * 获取预约会议成员列表
41
+ * @param meetingNum 会议号
42
+ */
43
+ getScheduledMembers(meetingNum: string): Promise<NEScheduledMember[]>;
44
+ /**
45
+ * 根据会议ID获取会议信息
46
+ * @param meetingId 会议ID
47
+ */
48
+ getMeetingInfoByMeetingId(meetingId: number | string): Promise<NEMeetingInfo>;
49
+ /**
50
+ * 根据会议号获取会议信息
51
+ * @param meetingNum 会议号
52
+ */
53
+ getMeetingInfoByMeetingNum(meetingNum: string): Promise<NEMeetingInfo>;
54
+ /**
55
+ * 获取参会记录列表
56
+ */
57
+ getHistoryMeetingList(params: {
58
+ startId?: number;
59
+ limit?: number;
60
+ }): Promise<{
61
+ meetingList: MeetingListItem[];
62
+ }>;
63
+ /**
64
+ * 获取参会记录详情
65
+ */
66
+ getHistoryMeetingDetail(roomArchiveId: number): Promise<NEHistoryMeetingDetail>;
67
+ }
@@ -0,0 +1,70 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export interface NetworkStats {
3
+ rtt: number;
4
+ packetLossRate: number;
5
+ bandwidth: number;
6
+ jitter: number;
7
+ }
8
+ export interface AudioStats {
9
+ recordVolume: number;
10
+ playVolume: number;
11
+ audioTxBitrate: number;
12
+ audioRxBitrate: number;
13
+ audioLevel: number;
14
+ }
15
+ export interface VideoStats {
16
+ videoTxBitrate: number;
17
+ videoRxBitrate: number;
18
+ videoFrameRate: number;
19
+ videoResolution: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ }
24
+ export interface QualityStats {
25
+ network: NetworkStats;
26
+ audio: AudioStats;
27
+ video: VideoStats;
28
+ timestamp: number;
29
+ }
30
+ export interface QualityMonitorManager {
31
+ /**
32
+ * 添加监控回调
33
+ * @param listener 监听器
34
+ */
35
+ addListener(listener: {
36
+ onQualityStatsChanged?: (stats: QualityStats) => void;
37
+ onNetworkQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
38
+ onAudioQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
39
+ onVideoQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
40
+ }): void;
41
+ /**
42
+ * 移除监控回调
43
+ * @param listener 监听器
44
+ */
45
+ removeListener(listener: {
46
+ onQualityStatsChanged?: (stats: QualityStats) => void;
47
+ onNetworkQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
48
+ onAudioQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
49
+ onVideoQualityChanged?: (quality: 'excellent' | 'good' | 'poor' | 'bad') => void;
50
+ }): void;
51
+ /**
52
+ * 开始质量监控
53
+ * @param interval 监控间隔(毫秒)
54
+ */
55
+ startQualityMonitor(interval?: number): Promise<NEResult<void>>;
56
+ /**
57
+ * 停止质量监控
58
+ */
59
+ stopQualityMonitor(): Promise<NEResult<void>>;
60
+ /**
61
+ * 获取当前质量统计
62
+ */
63
+ getCurrentQualityStats(): Promise<NEResult<QualityStats>>;
64
+ /**
65
+ * 获取历史质量数据
66
+ * @param duration 时间范围(毫秒)
67
+ */
68
+ getHistoricalQualityStats(duration: number): Promise<NEResult<QualityStats[]>>;
69
+ }
70
+ export default QualityMonitorManager;
@@ -0,0 +1,41 @@
1
+ import { NEResult, NERoomRecordConfig, NERoomStartLocalRecordOptions, NERoomStreamLayer, NERoomUpdateLocalRecordLayoutsOptions, NERoomVideoFrame } from 'neroom-types';
2
+ export interface RecordConfig {
3
+ recordType: 'video' | 'audio' | 'mixed';
4
+ layout: 'single' | 'gallery' | 'speaker';
5
+ resolution: '720p' | '1080p';
6
+ frameRate: 15 | 30;
7
+ bitrate: number;
8
+ }
9
+ export interface RecordManager {
10
+ /**
11
+ * 开启云录制
12
+ * @param config 录制配置
13
+ */
14
+ startCloudRecord(config?: NERoomRecordConfig): Promise<NEResult<void>>;
15
+ /**
16
+ * 停止云录制
17
+ */
18
+ stopCloudRecord(): Promise<NEResult<void>>;
19
+ /**
20
+ * 开启本地录制
21
+ * @param config 录制配置
22
+ */
23
+ startLocalRecord(config?: NERoomStartLocalRecordOptions): number | undefined;
24
+ /**
25
+ * 停止本地录制
26
+ */
27
+ stopLocalRecord(): number | undefined;
28
+ /**
29
+ * 更新本地录制布局
30
+ * @param options 布局配置
31
+ */
32
+ updateLocalRecordLayouts(options: NERoomUpdateLocalRecordLayoutsOptions[]): number | undefined;
33
+ /**
34
+ * 推送本地录制视频帧
35
+ * @param uid 用户ID
36
+ * @param streamLayer 流层
37
+ * @param frame 视频帧
38
+ */
39
+ pushLocalRecorderVideoFrame(uid: string, streamLayer: NERoomStreamLayer, frame: NERoomVideoFrame): number | undefined;
40
+ }
41
+ export default RecordManager;
@@ -0,0 +1,43 @@
1
+ import { NEResult, NERoomRtcScreenCaptureSource, NERoomScreenConfig, NERoomStopScreenConfig } from 'neroom-types';
2
+ export type NERoomStartScreenConfigEnhanced = NERoomScreenConfig & {
3
+ preferMotion?: boolean;
4
+ isLinux?: boolean;
5
+ };
6
+ export type CastToScreenShareResult = {
7
+ meetingNum: string;
8
+ };
9
+ export interface ScreenShareManager {
10
+ /**
11
+ * 投屏到屏幕共享
12
+ * @param code 投屏码
13
+ */
14
+ castToScreenShare(code: string): Promise<NEResult<CastToScreenShareResult>>;
15
+ /**
16
+ * 获取共享提示信息
17
+ */
18
+ getScreenShareMessage(): Promise<NEResult<string>>;
19
+ /**
20
+ * 获取共享列表
21
+ */
22
+ getScreenCaptureSourceList(): Promise<NEResult<NERoomRtcScreenCaptureSource[]>>;
23
+ /**
24
+ * 开始共享
25
+ * @param sourceId 源ID
26
+ * @param options 共享选项
27
+ */
28
+ startScreenShare(config?: NERoomStartScreenConfigEnhanced): Promise<NEResult<void>>;
29
+ /**
30
+ * 结束共享
31
+ */
32
+ stopScreenShare(config?: NERoomStopScreenConfig): Promise<NEResult<void>>;
33
+ /**
34
+ * 共享电脑音频
35
+ * @param enable 是否启用
36
+ */
37
+ startShareSystemAudio(enable: boolean): Promise<NEResult<void>>;
38
+ /**
39
+ * 安装共享电脑音频驱动
40
+ */
41
+ installAudioCaptureDriver(): Promise<NEResult<void>>;
42
+ }
43
+ export default ScreenShareManager;
@@ -0,0 +1,84 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export interface SecurityManager {
3
+ /**
4
+ * 开启等候室
5
+ */
6
+ enableWaitingRoomOnEntry(): Promise<NEResult<void>>;
7
+ /**
8
+ * 关闭等候室
9
+ * @param admitAll 是否准入当前等候室中的所有成员
10
+ */
11
+ disableWaitingRoomOnEntry(admitAll: boolean): Promise<NEResult<void>>;
12
+ /**
13
+ * 锁定会议
14
+ */
15
+ lockRoom(): Promise<NEResult<void>>;
16
+ /**
17
+ * 解锁会议
18
+ */
19
+ unlockRoom(): Promise<NEResult<void>>;
20
+ /**
21
+ * 启用会议黑名单
22
+ * @param enable 是否启用
23
+ */
24
+ enableRoomBlacklist(enable: boolean): Promise<NEResult<void>>;
25
+ /**
26
+ * 允许访客入会
27
+ * @param enable 是否允许
28
+ */
29
+ enableGuestJoin(enable: boolean): Promise<NEResult<void>>;
30
+ /**
31
+ * 隐藏头像
32
+ * @param hide 是否隐藏
33
+ */
34
+ changeAvatarStatus(hide: boolean): Promise<NEResult<void>>;
35
+ /**
36
+ * 变更聊天室权限
37
+ * @param crPerm 会内聊天室权限
38
+ * @param wtPrChat 等候室聊天权限
39
+ */
40
+ changeChatroomPermission(crPerm?: '1' | '2' | '3' | '4', wtPrChat?: '0' | '1'): Promise<NEResult<void>>;
41
+ /**
42
+ * 获取聊天室权限
43
+ */
44
+ getChatroomPermission(): Promise<NEResult<{
45
+ crPerm: '1' | '2' | '3' | '4';
46
+ wtPrChat: '0' | '1';
47
+ }>>;
48
+ /**
49
+ * 修改共享屏幕权限
50
+ * @param allow 是否允许
51
+ */
52
+ changeScreenSharePermission(allow: boolean): Promise<NEResult<void>>;
53
+ /**
54
+ * 修改解除静音权限
55
+ * @param allow 是否允许
56
+ */
57
+ changeUnmuteAudioBySelfPermission(allow: boolean): Promise<NEResult<void>>;
58
+ /**
59
+ * 修改开启视频权限
60
+ * @param allow 是否允许
61
+ */
62
+ changeUnmuteVideoBySelfPermission(allow: boolean): Promise<NEResult<void>>;
63
+ /**
64
+ * 修改自己改名权限
65
+ * @param allow 是否允许
66
+ */
67
+ changeUpdateNicknamePermission(allow: boolean): Promise<NEResult<void>>;
68
+ /**
69
+ * 修改共享白板权限
70
+ * @param allow 是否允许
71
+ */
72
+ changeWhiteboardPermission(allow: boolean): Promise<NEResult<void>>;
73
+ /**
74
+ * 修改互动批注权限
75
+ * @param allow 是否允许
76
+ */
77
+ changeAnnotationPermission(allow: boolean): Promise<NEResult<void>>;
78
+ /**
79
+ * 修改本地录制权限
80
+ * @param type 'onlyHost' | 'some' | 'all'
81
+ */
82
+ changeLocalRecordPermission(type: 'onlyHost' | 'some' | 'all'): Promise<NEResult<void>>;
83
+ }
84
+ export default SecurityManager;
@@ -0,0 +1,35 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export interface CaptionMessage {
3
+ messageId: string;
4
+ speakerId: string;
5
+ speakerName: string;
6
+ content: string;
7
+ timestamp: number;
8
+ language: string;
9
+ }
10
+ export interface TranscriptionManager {
11
+ /**
12
+ * 是否已开启转写
13
+ */
14
+ isTranscriptionEnabled(): boolean;
15
+ /**
16
+ * 获取是否允许成员使用字幕
17
+ */
18
+ isAllowParticipantsEnableCaption(): boolean;
19
+ /**
20
+ * 开关字幕
21
+ * @param enable 是否启用
22
+ */
23
+ enableCaption(enable: boolean): Promise<number>;
24
+ /**
25
+ * 允许/不允许成员使用字幕
26
+ * @param allow 是否允许
27
+ */
28
+ allowParticipantsEnableCaption(allow: boolean): Promise<NEResult<null>>;
29
+ /**
30
+ * 检查字幕权限
31
+ * @param roomUuid 房间ID
32
+ */
33
+ checkCaptionPermission(roomUuid: string): Promise<boolean>;
34
+ }
35
+ export default TranscriptionManager;
@@ -0,0 +1,121 @@
1
+ import { VideoFrameRate, VideoResolution } from '../../types/innerType';
2
+ import { NEDeviceBaseInfo, NEDeviceSwitchInfo, NEResult, NERoomVideoView, NEVideoStreamType } from 'neroom-types';
3
+ export interface VideoDevice {
4
+ deviceId: string;
5
+ deviceName: string;
6
+ isDefault?: boolean;
7
+ }
8
+ export interface VideoView {
9
+ element: HTMLElement;
10
+ userId?: string;
11
+ isLocal?: boolean;
12
+ }
13
+ export interface VideoManager {
14
+ /**
15
+ * 获取视频设备列表
16
+ */
17
+ getCameraDeviceList(): Promise<NEResult<NEDeviceBaseInfo[]>>;
18
+ /**
19
+ * 获取当前视频设备
20
+ */
21
+ getCameraDeviceId(): Promise<string | undefined>;
22
+ /**
23
+ * 会中设置当前视频设备
24
+ * @param deviceId 设备ID
25
+ */
26
+ setCameraDevice(deviceId: string): Promise<NEResult<NEDeviceSwitchInfo>>;
27
+ /**
28
+ * 会前检查设置当前视频设备
29
+ * @param deviceId 设备ID
30
+ */
31
+ setCameraDevicePreview(deviceId: string): Promise<NEResult<NEDeviceSwitchInfo>>;
32
+ /**
33
+ * 设置本地视频视图画布
34
+ * @param view 视频视图
35
+ */
36
+ setupLocalVideoCanvas(view: NERoomVideoView): Promise<NEResult<void>>;
37
+ /**
38
+ * 移除本地视频视图画布
39
+ */
40
+ removeLocalVideoCanvas(): Promise<NEResult<void>>;
41
+ setupVideoPreviewCanvas(view: NERoomVideoView): Promise<NEResult<void>>;
42
+ /**
43
+ * 开始预览
44
+ */
45
+ startVideoPreview(): Promise<NEResult<void>>;
46
+ /**
47
+ * 关闭预览
48
+ */
49
+ stopVideoPreview(): Promise<NEResult<void>>;
50
+ /**
51
+ * 设置视频分辨率
52
+ * @param resolution 分辨率
53
+ * @param frameRate 帧率
54
+ */
55
+ setVideoProfile(resolution: VideoResolution, frameRate?: VideoFrameRate): void | undefined;
56
+ /**
57
+ * 开启美颜
58
+ * @param enable 是否启用
59
+ * @param level 美颜级别 (0-10)
60
+ */
61
+ enableBeauty(enable: boolean, level?: number): Promise<NEResult<void>>;
62
+ /**
63
+ * 设置虚拟背景
64
+ * @param enable 是否启用
65
+ * @param path 背景图片URL
66
+ * @param force 是否强制
67
+ * @param type 背景类型
68
+ */
69
+ enableVirtualBackground(enable: boolean, path: string, force: boolean, type: number): Promise<NEResult<void>>;
70
+ /**
71
+ * 打开本端视频并发送
72
+ */
73
+ unmuteMyVideo(): Promise<NEResult<void>>;
74
+ /**
75
+ * 关闭本端视频取消发送
76
+ */
77
+ muteMyVideo(): Promise<NEResult<void>>;
78
+ /**
79
+ * 设置成员视频视图
80
+ * @param userId 用户ID
81
+ * @param view 视频视图
82
+ */
83
+ setupRemoteVideoCanvas(userId: string, view: NERoomVideoView): Promise<NEResult<void>>;
84
+ /**
85
+ * 设置成员辅流视频视图
86
+ * @param userId 用户ID
87
+ * @param view 视频视图
88
+ */
89
+ setupRemoteVideoSubStreamCanvas(userId: string, view: NERoomVideoView): Promise<NEResult<void>>;
90
+ /**
91
+ * 移除成员辅流视频视图
92
+ * @param userId 用户ID
93
+ */
94
+ removeRemoteVideoSubStreamCanvas(userId: string): Promise<NEResult<void>>;
95
+ /**
96
+ * 移除成员视频视图
97
+ * @param userId 用户ID
98
+ */
99
+ removeRemoteVideoCanvas(userId: string): Promise<NEResult<void>>;
100
+ /**
101
+ * 订阅远端视频流
102
+ * @param userId 用户ID
103
+ */
104
+ subscribeRemoteVideoStream(userId: string, streamType: NEVideoStreamType): Promise<NEResult<void>>;
105
+ /**
106
+ * 取消订阅远端视频流
107
+ * @param userId 用户ID
108
+ */
109
+ unsubscribeRemoteVideoStream(userId: string, streamType: NEVideoStreamType): Promise<NEResult<void>>;
110
+ /**
111
+ * 订阅远端视频辅流
112
+ * @param userUuid 用户ID
113
+ */
114
+ subscribeRemoteVideoSubStream(userUuid: string): Promise<NEResult<void>>;
115
+ /**
116
+ * 取消订阅远端视频辅流
117
+ * @param userUuid 用户ID
118
+ */
119
+ unsubscribeRemoteVideoSubStream(userUuid: string): Promise<NEResult<void>>;
120
+ }
121
+ export default VideoManager;
@@ -0,0 +1,58 @@
1
+ import { NEResult, NEWaitingRoomInfo, NEWaitingRoomMember, NEWaitingRoomListener } from 'neroom-types';
2
+ export interface WaitingRoomManager {
3
+ /**
4
+ * 获取等候室成员列表
5
+ * @param joinTime 起始时间戳,第一次传0
6
+ * @param size 每次获取的数量
7
+ * @param asc 是否升序
8
+ */
9
+ getWaitingRoomMemberList(time: number, limit: number, asc: boolean): Promise<NEResult<NEWaitingRoomMember[]>>;
10
+ /**
11
+ * 获取等候室信息
12
+ */
13
+ getWaitingRoomInfo(): NEWaitingRoomInfo;
14
+ /**
15
+ * 获取等候室配置
16
+ * @param roomUuid 房间UUID
17
+ */
18
+ getWaitingRoomConfig(roomUuid: string): Promise<{
19
+ wtPrChat: number;
20
+ }>;
21
+ /**
22
+ * 移至等候室
23
+ * @param userUuid 用户UUID
24
+ */
25
+ putInWaitingRoom(userUuid: string): Promise<NEResult<void>>;
26
+ /**
27
+ * 等候室准入
28
+ * @param userUuid 用户UUID
29
+ * @param autoAdmit 是否自动准入
30
+ */
31
+ admitMember(userUuid: string, autoAdmit?: boolean): Promise<NEResult<void>>;
32
+ /**
33
+ * 等候室移除
34
+ * @param userUuid 用户UUID
35
+ * @param notAllowJoin 是否不允许加入等候室
36
+ */
37
+ expelMember(userUuid: string, notAllowJoin?: boolean): Promise<NEResult<void>>;
38
+ /**
39
+ * 等候室全部准入
40
+ */
41
+ admitAllMembers(): Promise<NEResult<void>>;
42
+ /**
43
+ * 等候室全部移除
44
+ * @param disallowRejoin 是否不允许重新加入
45
+ */
46
+ expelAllMembers(disallowRejoin: boolean): Promise<NEResult<void>>;
47
+ /**
48
+ * 添加等候室事件监听器
49
+ * @param listener 监听器
50
+ */
51
+ addListener(listener: NEWaitingRoomListener): void;
52
+ /**
53
+ * 移除等候室事件监听器
54
+ * @param listener 监听器
55
+ */
56
+ removeListener(listener?: NEWaitingRoomListener): void;
57
+ }
58
+ export default WaitingRoomManager;