netender-web-sdk 1.0.1 → 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 (37) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.esm.js +1 -1
  3. package/dist/index.umd.js +1 -1
  4. package/dist/meeting-kit-lite/src/kit/impl/audio_manager.d.ts +1 -1
  5. package/dist/meeting-kit-lite/src/kit/impl/invite_manager.d.ts +2 -2
  6. package/dist/meeting-kit-lite/src/kit/impl/meeting_kit.d.ts +3 -0
  7. package/dist/meeting-kit-lite/src/kit/impl/meeting_manager.d.ts +4 -0
  8. package/dist/meeting-kit-lite/src/kit/impl/pre_meeting_manager.d.ts +3 -3
  9. package/dist/meeting-kit-lite/src/kit/impl/screen_share_manager.d.ts +5 -1
  10. package/dist/meeting-kit-lite/src/kit/interface/audio_manager.d.ts +6 -6
  11. package/dist/meeting-kit-lite/src/kit/interface/invite_manager.d.ts +2 -2
  12. package/dist/meeting-kit-lite/src/kit/interface/meeting_kit.d.ts +7 -0
  13. package/dist/meeting-kit-lite/src/kit/interface/screen_share_manager.d.ts +8 -0
  14. package/dist/meeting-kit-lite/src/types/type.d.ts +24 -19
  15. package/dist/meeting-kit-lite/src/utils/index.d.ts +3 -0
  16. package/dist/meeting-kit-lite/src/utils/logDebug.d.ts +34 -28
  17. package/dist/tender-sdk-web/src/index.d.ts +13 -1
  18. package/dist/tender-sdk-web/src/interface/account_manager.d.ts +42 -0
  19. package/dist/tender-sdk-web/src/interface/audio_manager.d.ts +146 -0
  20. package/dist/tender-sdk-web/src/interface/chatroom_manager.d.ts +178 -0
  21. package/dist/tender-sdk-web/src/interface/invite_manager.d.ts +27 -0
  22. package/dist/tender-sdk-web/src/interface/meeting_kit.d.ts +71 -0
  23. package/dist/tender-sdk-web/src/interface/meeting_manager.d.ts +65 -0
  24. package/dist/tender-sdk-web/src/interface/member_manager.d.ts +85 -0
  25. package/dist/tender-sdk-web/src/interface/pre_meeting_manager.d.ts +36 -0
  26. package/dist/tender-sdk-web/src/interface/screen_share_manager.d.ts +35 -0
  27. package/dist/tender-sdk-web/src/interface/security_manager.d.ts +17 -0
  28. package/dist/tender-sdk-web/src/interface/types.d.ts +563 -0
  29. package/dist/tender-sdk-web/src/interface/video_manager.d.ts +97 -0
  30. package/dist/tender-sdk-web/src/interface/waitingRoom_manager.d.ts +51 -0
  31. package/dist/tender-sdk-web/src/types/index.d.ts +2 -0
  32. package/dist/tender-sdk-web/src/types/innerType.d.ts +344 -0
  33. package/dist/tender-sdk-web/src/types/type.d.ts +213 -0
  34. package/dist/tender-sdk-web/src/types_bak/index.d.ts +2 -0
  35. package/dist/tender-sdk-web/src/types_bak/innerType.d.ts +309 -0
  36. package/dist/tender-sdk-web/src/types_bak/type.d.ts +402 -0
  37. package/package.json +7 -4
@@ -36,7 +36,7 @@ export default class AudioManagerImpl implements AudioManager {
36
36
  muteMyAudio(): Promise<NEResult<void>>;
37
37
  setMixAudioStream(need: boolean): void;
38
38
  enableAudioEffect(): Promise<void>;
39
- setAudioEffect(type: number, value: number | Array<number> | ReverbConfig): void;
39
+ setAudioEffect(type: number | string, value: number | Array<number> | ReverbConfig): void;
40
40
  disableAudioEffect(): Promise<void>;
41
41
  enableAIDenoise(): Promise<void>;
42
42
  setVoiceGate(level: number): void;
@@ -1,6 +1,6 @@
1
1
  import { NEResult, NERoomSipCallResponse, NERoomSystemDevice } from 'neroom-types';
2
2
  import InviteManager from '../interface/invite_manager';
3
- import NEMeetingKitLite, { NEMember, NEESearchAccountInfo, NEAccountInfoListResponse } from '..';
3
+ import NEMeetingKitLite, { NEMember, NEESearchAccountInfo, GetAccountInfoListResponse } from '..';
4
4
  import { LogDebug } from '../../utils/logDebug';
5
5
  import { AxiosInstance } from 'axios';
6
6
  export default class InviteManagerImpl implements InviteManager {
@@ -24,5 +24,5 @@ export default class InviteManagerImpl implements InviteManager {
24
24
  cancelCall(userUuid: string): Promise<NEResult<null>>;
25
25
  hangUpCall(userUuid: string): Promise<NEResult<null>>;
26
26
  private searchAccount;
27
- getAccountInfoList(userUuids: string[]): Promise<NEAccountInfoListResponse>;
27
+ getAccountInfoList(userUuids: string[]): Promise<GetAccountInfoListResponse>;
28
28
  }
@@ -90,6 +90,7 @@ export default class NEMeetingKitLite extends EventEmitter implements NEMeetingK
90
90
  static getInstance(params?: NEMeetingKitConfig): NEMeetingKitLite;
91
91
  static checkSystemRequirements(): boolean | undefined;
92
92
  constructor(params: NEMeetingKitConfig);
93
+ get debugLog(): LogDebug;
93
94
  get localMember(): NERoomMember | null;
94
95
  get isInitialized(): boolean;
95
96
  get rtcController(): NERoomRtcController | undefined;
@@ -135,4 +136,6 @@ export default class NEMeetingKitLite extends EventEmitter implements NEMeetingK
135
136
  private _initHandler;
136
137
  private createRequest;
137
138
  highAvailableRequest<T>(request: (traceId: string, domain?: string) => Promise<T>): Promise<T>;
139
+ writeLog(moduleName: string, level: number, content: string): void;
140
+ private _getAvailableDomain;
138
141
  }
@@ -25,6 +25,10 @@ export default class MeetingManagerImpl implements MeetingManager {
25
25
  debugLog: LogDebug;
26
26
  });
27
27
  get isHostOrCohost(): boolean;
28
+ /**
29
+ * 检查是否已经在会议中
30
+ */
31
+ private _isInMeeting;
28
32
  getGlobalConfig(): Promise<NEMeetingConfig>;
29
33
  createMeeting(options: NEMeetingCreateOptions): Promise<void>;
30
34
  joinMeeting(options: NEMeetingJoinOptions): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { NEMeetingInfo, MeetingListItem, NEHistoryMeetingDetail, NEMeetingAppNoticeTip, NEMeetingCreateOptions, NEMeetingGetListBySizeParams, NEMeetingGetListOptions, NEScheduledMember } from '..';
1
+ import { NEMeetingInfo, MeetingListItem, NEHistoryMeetingDetail, NEMeetingAppNoticeTip, NEMeetingGetListBySizeParams, NEMeetingGetListOptions, NEScheduledMember, NEMeetingScheduleOptions } from '..';
2
2
  import { PreMeetingManager } from '../interface/pre_meeting_manager';
3
3
  import NEMeetingKitLite from './meeting_kit';
4
4
  import { AxiosInstance } from 'axios';
@@ -19,8 +19,8 @@ export declare class PreMeetingManagerImpl implements PreMeetingManager {
19
19
  curTime: number;
20
20
  appKey: string;
21
21
  }>;
22
- scheduleMeeting(options: NEMeetingCreateOptions): Promise<NEMeetingInfo>;
23
- editMeeting(meetingId: number | string, options: NEMeetingCreateOptions): Promise<void>;
22
+ scheduleMeeting(options: NEMeetingScheduleOptions): Promise<NEMeetingInfo>;
23
+ editMeeting(meetingId: number | string, options: NEMeetingScheduleOptions): Promise<void>;
24
24
  cancelMeeting(meetingId: number, cancelRecurringMeeting?: boolean): Promise<void>;
25
25
  getScheduledMembers(meetingNum: string): Promise<NEScheduledMember[]>;
26
26
  getMeetingInfoByMeetingId(meetingId: string | number): Promise<NEMeetingInfo>;
@@ -1,14 +1,18 @@
1
+ import { AxiosInstance } from 'axios';
1
2
  import { NEResult, NERoomRtcScreenCaptureSource, NERoomStopScreenConfig } from 'neroom-types';
2
- import ScreenShareManager, { NERoomStartScreenConfigEnhanced } from '../interface/screen_share_manager';
3
+ import ScreenShareManager, { CastToScreenShareResult, NERoomStartScreenConfigEnhanced } from '../interface/screen_share_manager';
3
4
  import NEMeetingKitLite from './meeting_kit';
4
5
  export default class ScreenShareManagerImpl implements ScreenShareManager {
5
6
  private _logger;
7
+ private _request;
6
8
  private _meetingKit;
7
9
  private get _rtcController();
8
10
  private get _previewController();
9
11
  constructor(params: {
12
+ request: AxiosInstance;
10
13
  meetingKit: NEMeetingKitLite;
11
14
  });
15
+ castToScreenShare(code: string): Promise<NEResult<CastToScreenShareResult>>;
12
16
  getScreenShareMessage(): Promise<NEResult<string>>;
13
17
  getScreenCaptureSourceList(): Promise<NEResult<NERoomRtcScreenCaptureSource[]>>;
14
18
  startScreenShare(config?: NERoomStartScreenConfigEnhanced): Promise<NEResult<void>>;
@@ -130,15 +130,15 @@ export interface AudioManager {
130
130
  */
131
131
  setAudioMusic(enable: boolean): Promise<NEResult<void>>;
132
132
  /**
133
- * 音乐模式配置(回声消除&启动立体声)
134
- * @param enable 是否启用
133
+ * 设置远端音频播放是否需要混音
134
+ * @param need 是否需要混音播放
135
135
  */
136
136
  setMixAudioStream(need: boolean): void;
137
137
  /**
138
- * 设置远端音频播放是否需要混音
139
- * @param need 是否需要混音播放
138
+ * 开启本端音频发送
139
+ * @param enableMediaPub 是否开启媒体发布
140
140
  */
141
- unmuteMyAudio(need?: boolean): void;
141
+ unmuteMyAudio(enableMediaPub?: boolean): Promise<NEResult<void>>;
142
142
  /**
143
143
  * 关闭本端音频发送
144
144
  */
@@ -150,7 +150,7 @@ export interface AudioManager {
150
150
  /**
151
151
  * 设置变声效果
152
152
  */
153
- setAudioEffect?: (type: number, value: number | Array<number> | ReverbConfig) => void;
153
+ setAudioEffect?: (type: number | string, value: number | Array<number> | ReverbConfig) => void;
154
154
  /**
155
155
  * 关闭音频特效
156
156
  */
@@ -1,4 +1,4 @@
1
- import { NEMember, NEESearchAccountInfo, NEAccountInfoListResponse } from '../../types';
1
+ import { NEMember, NEESearchAccountInfo, GetAccountInfoListResponse } from '../../types';
2
2
  import { NEResult, NERoomSipCallResponse, NERoomSystemDevice } from 'neroom-types';
3
3
  export interface InviteInfo {
4
4
  meetingNum: string;
@@ -32,7 +32,7 @@ export interface InviteManager {
32
32
  * 获取账号信息列表
33
33
  * @param userUuids 用户UUID列表
34
34
  */
35
- getAccountInfoList(userUuids: string[]): Promise<NEAccountInfoListResponse>;
35
+ getAccountInfoList(userUuids: string[]): Promise<GetAccountInfoListResponse>;
36
36
  /**
37
37
  * 根据手机号获取账号信息
38
38
  * @param phone 手机号
@@ -139,5 +139,12 @@ interface NEMeetingKit {
139
139
  setExceptionHandler(handler: ExceptionHandler): void;
140
140
  startMarvel(): Promise<NEResult<void>>;
141
141
  checkSystemRequirements(): boolean | undefined;
142
+ /**
143
+ * 写日志
144
+ * @param moduleName 模块名称
145
+ * @param level 日志级别
146
+ * @param content 日志内容
147
+ */
148
+ writeLog(moduleName: string, level: number, content: string): void;
142
149
  }
143
150
  export default NEMeetingKit;
@@ -3,7 +3,15 @@ export type NERoomStartScreenConfigEnhanced = NERoomScreenConfig & {
3
3
  preferMotion?: boolean;
4
4
  isLinux?: boolean;
5
5
  };
6
+ export type CastToScreenShareResult = {
7
+ meetingNum: string;
8
+ };
6
9
  export interface ScreenShareManager {
10
+ /**
11
+ * 投屏到屏幕共享
12
+ * @param code 投屏码
13
+ */
14
+ castToScreenShare(code: string): Promise<NEResult<CastToScreenShareResult>>;
7
15
  /**
8
16
  * 获取共享提示信息
9
17
  */
@@ -144,7 +144,7 @@ export interface NEMeetingInfo {
144
144
  noSip: boolean;
145
145
  /** 配置会议是否默认开启等候室 */
146
146
  enableWaitingRoom: boolean;
147
- /** 配置会议是否允许参会者在主持人进入会议前加入会议,默认为允许 */
147
+ /** 配置会议是否允许参会者在主持人进入会议前加入会议,默认为允许*/
148
148
  enableJoinBeforeHost: boolean;
149
149
  /** 是否允许访客入会 */
150
150
  enableGuestJoin: boolean;
@@ -205,10 +205,6 @@ export type NECloudRecordConfig = {
205
205
  export interface NEMeetingCreateOptions extends NEMeetingBaseOptions {
206
206
  /** 房间配置模板ID */
207
207
  roomConfigId?: number;
208
- /** 视频开启状态,0-关闭,1-开启 */
209
- video?: number;
210
- /** 音频开启状态,0-关闭,1-开启 */
211
- audio?: number;
212
208
  /** 会议主题 */
213
209
  subject?: string;
214
210
  /** 角色绑定配置 */
@@ -249,10 +245,6 @@ export interface NEMeetingCreateOptions extends NEMeetingBaseOptions {
249
245
  enableGuestJoin?: boolean;
250
246
  /** 是否允许成员在主持人进入前加入会议 */
251
247
  enableJoinBeforeHost?: boolean;
252
- /** 周期性会议规则配置 */
253
- recurringRule?: Record<string, NEMeetingRecurringRule>;
254
- /** 预定会议成员列表 */
255
- scheduledMembers?: NEScheduledMember[];
256
248
  /** 时区ID */
257
249
  timezoneId?: string;
258
250
  /** 同声传译配置 */
@@ -270,17 +262,15 @@ export interface NEMeetingCreateOptions extends NEMeetingBaseOptions {
270
262
  liveConfig?: NEMeetingLivePrivateConfig;
271
263
  /** 白板配置 */
272
264
  whiteBoardAddDocConfig?: AddDocConfig[];
273
- /**
274
- * 是否开启白板的云录制
275
- */
276
- whiteboardCloudRecord?: boolean;
277
- /**
278
- * 是否开启白板容器的宽高比
279
- */
280
- whiteBoardContainerAspectRatio?: AspectRatio;
281
265
  /** 是否默认使用电脑音频 */
282
266
  usingComputerAudio?: boolean;
283
267
  }
268
+ export interface NEMeetingScheduleOptions extends NEMeetingCreateOptions {
269
+ /** 预定会议成员列表*/
270
+ scheduledMembers?: NEScheduledMember[];
271
+ /** 周期性会议规则配置*/
272
+ recurringRule?: Record<string, NEMeetingRecurringRule>;
273
+ }
284
274
  export type NEMeetingItemLiveBackground = {
285
275
  backgroundUrl?: string;
286
276
  backgroundFile?: Blob | string;
@@ -300,9 +290,9 @@ interface NEMeetingBaseOptions {
300
290
  /** 会议ID(数字类型,已废弃,建议使用meetingNum) */
301
291
  meetingId?: number;
302
292
  /** 会议号(字符串类型),原先使用meetingId后续兼容meetingNum */
303
- meetingNum: string;
293
+ meetingNum?: string;
304
294
  /** 用户昵称 */
305
- nickname: string;
295
+ nickname?: string;
306
296
  /** 会议密码 */
307
297
  password?: string;
308
298
  /** 成员标签 */
@@ -438,6 +428,7 @@ export type NEMeetingInitConfig = {
438
428
  whiteboardAppConfig?: NERoomWhiteboardAppConfig;
439
429
  serverConfig?: NEServerConfig;
440
430
  logPath?: string;
431
+ highAvailableCachePath?: string;
441
432
  };
442
433
  export interface NEMeetingGetListOptions {
443
434
  startTime?: number;
@@ -556,6 +547,20 @@ export type NEScheduledMember = {
556
547
  export interface NEAccountInfoListResponse {
557
548
  accountInfoList: NEAccountInfo[];
558
549
  }
550
+ export interface GetAccountInfoListResponse {
551
+ meetingAccountListResp: SearchAccountInfo[];
552
+ notFindUserUuids: string[];
553
+ }
554
+ export interface SearchAccountInfo {
555
+ role?: Role;
556
+ disabled?: boolean;
557
+ inInviting?: boolean;
558
+ userUuid: string;
559
+ name: string;
560
+ avatar?: string;
561
+ dept?: string;
562
+ phoneNumber?: string;
563
+ }
559
564
  export declare enum NEMenuVisibility {
560
565
  /** 对应菜单始终可见 */
561
566
  VISIBLE_ALWAYS = 0,
@@ -8,3 +8,6 @@ export declare function getMeetingPermission(value: number): MeetingPermission;
8
8
  export declare function getBreakoutRoomInLocalStorage(): BreakoutRoomInfo | undefined;
9
9
  export declare function formatDate(time: Date | number | string, fmt?: string): string;
10
10
  export declare function formatAudioOff(attendeeAudioOffType: AttendeeOffType | undefined, attendeeAudioOff: boolean): string;
11
+ export declare function getIsElectron(): boolean;
12
+ export declare function getH5App(): boolean;
13
+ export declare function getIsRooms(): boolean;
@@ -1,33 +1,39 @@
1
- /**
2
- * 日志打印对象型
3
- */
4
1
  export type LogLevel = 'log' | 'trace' | 'debug' | 'info' | 'warn' | 'error';
5
- /**
6
- * 日志打印级别类型
7
- */
8
- export declare const LevelMap: {
9
- [key in LogLevel]: number;
10
- };
2
+ export declare const LevelMap: Readonly<Record<LogLevel, number>>;
3
+ export interface ILogger {
4
+ log?: (...args: unknown[]) => void;
5
+ info?: (...args: unknown[]) => void;
6
+ warn?: (...args: unknown[]) => void;
7
+ error?: (...args: unknown[]) => void;
8
+ trace?: (...args: unknown[]) => void;
9
+ debug?: (...args: unknown[]) => void;
10
+ }
11
+ export interface LogDebugOptions {
12
+ level?: LogLevel;
13
+ moduleName?: string;
14
+ actionType?: string;
15
+ logger?: Console;
16
+ }
11
17
  export declare class LogDebug {
12
- level: number;
13
- moduleName: string;
14
- appKey: string;
15
- isOpenEventTracking: boolean;
16
- actionType: string;
17
- constructor({ level, moduleName, actionType }: {
18
- level?: string | undefined;
19
- moduleName?: string | undefined;
20
- actionType?: string | undefined;
21
- });
18
+ private level;
19
+ private moduleName;
20
+ private appKey;
21
+ private isOpenEventTracking;
22
+ private actionType;
23
+ private logger;
24
+ constructor({ level, moduleName, actionType, logger, }: LogDebugOptions);
25
+ setModuleName(moduleName: string): void;
26
+ setLogger(logger: ILogger): void;
22
27
  setLevel(level: LogLevel): void;
23
28
  setEventTracking(isOpen: boolean): void;
29
+ setAppKey(appKey: string): void;
30
+ private shouldPrint;
24
31
  log(...msgs: unknown[]): void;
25
32
  trace(...msgs: unknown[]): void;
26
33
  debug(...msgs: unknown[]): void;
27
34
  info(...msgs: unknown[]): void;
28
35
  warn(...msgs: unknown[]): void;
29
36
  error(...msgs: unknown[]): void;
30
- setAppKey(appKey: string): void;
31
37
  private _print;
32
38
  private _genTime;
33
39
  private _sensitive;
@@ -35,22 +41,22 @@ export declare class LogDebug {
35
41
  private _replacePos;
36
42
  }
37
43
  export declare class ApiLog extends LogDebug {
38
- constructor({ moduleName }: {
39
- moduleName?: string | undefined;
44
+ constructor({ moduleName }?: {
45
+ moduleName?: string;
40
46
  });
41
47
  }
42
48
  export declare class ApiResultLog extends LogDebug {
43
- constructor({ moduleName }: {
44
- moduleName?: string | undefined;
49
+ constructor({ moduleName }?: {
50
+ moduleName?: string;
45
51
  });
46
52
  }
47
53
  export declare class ApiEventLog extends LogDebug {
48
- constructor({ moduleName }: {
49
- moduleName?: string | undefined;
54
+ constructor({ moduleName }?: {
55
+ moduleName?: string;
50
56
  });
51
57
  }
52
58
  export declare class UILog extends LogDebug {
53
- constructor({ moduleName }: {
54
- moduleName?: string | undefined;
59
+ constructor({ moduleName }?: {
60
+ moduleName?: string;
55
61
  });
56
62
  }
@@ -1,2 +1,14 @@
1
1
  export { NEMeetingKit as NETenderWebSDK } from 'nemeeting-kit-lite';
2
- export * from 'nemeeting-kit-lite';
2
+ export * from './interface/meeting_kit';
3
+ export * from './interface/account_manager';
4
+ export * from './interface/meeting_manager';
5
+ export * from './interface/audio_manager';
6
+ export * from './interface/video_manager';
7
+ export * from './interface/security_manager';
8
+ export * from './interface/invite_manager';
9
+ export * from './interface/member_manager';
10
+ export * from './interface/chatroom_manager';
11
+ export * from './interface/screen_share_manager';
12
+ export * from './interface/pre_meeting_manager';
13
+ export * from './interface/types';
14
+ export * from 'neroom-types';
@@ -0,0 +1,42 @@
1
+ import { NEAccountInfo } from './types';
2
+ export interface AccountManager {
3
+ /**
4
+ * 账号登录
5
+ * @param options 登录选项
6
+ */
7
+ loginByToken(options: {
8
+ accountId: string;
9
+ accountToken: string;
10
+ }): Promise<NEAccountInfo>;
11
+ /**
12
+ * 账号密码登录
13
+ * @param options 登录选项
14
+ */
15
+ loginByPassword(options: {
16
+ username: string;
17
+ password: string;
18
+ }): Promise<NEAccountInfo>;
19
+ /**
20
+ * 获取账号信息
21
+ */
22
+ getAccountInfo(): Promise<NEAccountInfo>;
23
+ /**
24
+ * 账号登出
25
+ */
26
+ logout(): Promise<void>;
27
+ /**
28
+ * 更新用户昵称
29
+ * @param nickname 新昵称
30
+ */
31
+ updateNickname(nickname: string): Promise<void>;
32
+ /**
33
+ * 重置密码
34
+ * @param params 重置密码参数
35
+ */
36
+ resetPassword(params: {
37
+ userUuid: string;
38
+ newPassword: string;
39
+ oldPassword: string;
40
+ }): Promise<void>;
41
+ }
42
+ export default AccountManager;
@@ -0,0 +1,146 @@
1
+ import { NEDeviceBaseInfo, NEResult } from 'neroom-types';
2
+ export interface ReverbConfig {
3
+ /**
4
+ * 湿信号增益
5
+ */
6
+ wetGain: number;
7
+ /**
8
+ * 干信号增益
9
+ */
10
+ dryGain: number;
11
+ /**
12
+ * 混响阻尼
13
+ */
14
+ damping: number;
15
+ /**
16
+ * 房间大小
17
+ */
18
+ roomSize: number;
19
+ /**
20
+ * 持续强度
21
+ */
22
+ decayTime: number;
23
+ /**
24
+ * 延迟长度
25
+ */
26
+ preDelay: number;
27
+ }
28
+ export interface AudioManager {
29
+ /**
30
+ * 获取扬声器列表
31
+ */
32
+ getSpeakerDeviceList(): Promise<NEResult<NEDeviceBaseInfo[]>>;
33
+ /**
34
+ * 获取当前扬声器
35
+ */
36
+ getSpeakerDeviceId(): Promise<NEResult<string>>;
37
+ /**
38
+ * 会中设置当前扬声器
39
+ * @param deviceId 设备ID
40
+ */
41
+ setSpeakerDevice(deviceId: string): Promise<NEResult<void>>;
42
+ /**
43
+ * 会前设置当前扬声器
44
+ * @param deviceId 设备ID
45
+ */
46
+ setSpeakerDevicePreview(deviceId: string): Promise<NEResult<void>>;
47
+ /**
48
+ * 获取扬声器音量
49
+ */
50
+ getSpeakerVolume(): Promise<NEResult<number>>;
51
+ /**
52
+ * 设置扬声器音量
53
+ * @param volume 音量值 (0-100)
54
+ */
55
+ setSpeakerVolume(volume: number): Promise<NEResult<void>>;
56
+ /**
57
+ * 开始检测扬声器
58
+ */
59
+ startSpeakerDeviceTest(audioResource: string): Promise<NEResult<void>>;
60
+ /**
61
+ * 停止检测扬声器
62
+ */
63
+ stopSpeakerDeviceTest(): Promise<NEResult<void>>;
64
+ /**
65
+ * 获取麦克风列表
66
+ */
67
+ getMicrophoneDeviceList(): Promise<NEResult<NEDeviceBaseInfo[]>>;
68
+ /**
69
+ * 获取当前麦克风
70
+ */
71
+ getMicrophoneDeviceId(): Promise<NEResult<string>>;
72
+ /**
73
+ * 会前设置当前麦克风
74
+ * @param deviceId 设备ID
75
+ */
76
+ setMicrophoneDevicePreview(deviceId: string): Promise<NEResult<void>>;
77
+ /**
78
+ * 设置当前麦克风
79
+ * @param deviceId 设备ID
80
+ */
81
+ setMicrophoneDevice(deviceId: string): Promise<NEResult<void>>;
82
+ /**
83
+ * 获取麦克风音量
84
+ */
85
+ getMicrophoneVolume(): number;
86
+ /**
87
+ * 会前获取麦克风音量
88
+ */
89
+ getMicrophoneVolumePreview(): number;
90
+ /**
91
+ * 设置麦克风音量
92
+ * @param volume 音量值 (0-100)
93
+ */
94
+ setMicrophoneVolume(volume: number): Promise<NEResult<void>>;
95
+ /**
96
+ * 开始检测麦克风
97
+ */
98
+ startMicrophoneDeviceTest(): Promise<NEResult<void>>;
99
+ /**
100
+ * 停止检测麦克风
101
+ */
102
+ stopMicrophoneDeviceTest(): Promise<NEResult<void>>;
103
+ /**
104
+ * 音频是否混音播放
105
+ * web端sdk专用(C++忽略)
106
+ */
107
+ setMixAudioStream(need: boolean): void;
108
+ /**
109
+ * 开启本端音频发送
110
+ */
111
+ unmuteMyAudio(need?: boolean): void;
112
+ /**
113
+ * 关闭本端音频发送
114
+ */
115
+ muteMyAudio(): Promise<NEResult<void>>;
116
+ /**
117
+ * 开启音频特效
118
+ */
119
+ enableAudioEffect?: () => Promise<void>;
120
+ /**
121
+ * 设置变声效果
122
+ * web端sdk专用
123
+ */
124
+ setAudioEffect?: (type: number, value: number | Array<number> | ReverbConfig) => void;
125
+ /**
126
+ * 关闭音频特效
127
+ * web端sdk专用
128
+ */
129
+ disableAudioEffect?: () => Promise<void>;
130
+ /**
131
+ * 开启AI降噪
132
+ * web端sdk专用
133
+ */
134
+ enableAIDenoise?: () => Promise<void>;
135
+ /**
136
+ * 设置背景人声消除阈值
137
+ * web端sdk专用
138
+ */
139
+ setVoiceGate?: (level: number) => void;
140
+ /**
141
+ * 关闭AI降噪
142
+ * web端sdk专用
143
+ */
144
+ disableAIDenoise?: () => Promise<void>;
145
+ }
146
+ export default AudioManager;