quickvo-sdk-js 0.9.4 → 0.9.6

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.
@@ -1,8 +1,8 @@
1
1
  import { K_mediaType } from '../enums/mediaType';
2
2
  import { QuickOptions, Streams } from '../types';
3
- import { AudioMediaContext } from './mediaStreams/AudioMediaContext';
4
- import { VideoMediaContext } from './mediaStreams/VideoMediaContext';
3
+ import { VideoMediaContext } from './VideoMediaContext';
5
4
  import { RoomBase } from './RoomBase';
5
+ import { PrAudioStream } from 'pr-audio-stream';
6
6
  export declare class RoomMedias extends RoomBase {
7
7
  #private;
8
8
  localStreamsActionMap: Map<K_mediaType, Boolean>;
@@ -31,15 +31,15 @@ export declare class RoomMedias extends RoomBase {
31
31
  /**
32
32
  * getUserMediaStreamContext
33
33
  */
34
- getUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => AudioMediaContext | VideoMediaContext | undefined;
34
+ getUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => VideoMediaContext | PrAudioStream | undefined;
35
35
  /**
36
36
  * getUserAudioMediaStreamContext
37
37
  */
38
- getUserAudioMediaStreamContext: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => AudioMediaContext;
38
+ getUserAudioMediaStreamContext: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => PrAudioStream | undefined;
39
39
  /**
40
40
  * removeUserMediaStreamContext
41
41
  */
42
- removeUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => void;
42
+ removeUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => boolean | VideoMediaContext | undefined;
43
43
  /**
44
44
  * getUserStream
45
45
  */
@@ -1,7 +1,6 @@
1
1
  import { K_mediaType } from '../enums/mediaType';
2
2
  import { QuickOptions, RoomUser, UserTrack } from '../types';
3
3
  import { RoomMedias } from './RoomMedias';
4
- import { UserAudioFilterOptions } from './mediaStreams/AudioMediaContext';
5
4
  export declare class RoomUsers extends RoomMedias {
6
5
  constructor(options: QuickOptions);
7
6
  /**
@@ -12,30 +11,65 @@ export declare class RoomUsers extends RoomMedias {
12
11
  volume: number;
13
12
  } | undefined;
14
13
  /**
15
- * setAudioFilter
14
+ * setVolume
15
+ * @param userId
16
+ * @param mediaType
17
+ * @param gain 0-1
16
18
  */
17
- setAudioFilter: (options?: Partial<UserAudioFilterOptions>) => Promise<void>;
19
+ setVolume: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
18
20
  /**
19
21
  * setEnhanceGain
20
22
  * @param userId
21
23
  * @param mediaType
22
24
  * @param gain 0-100
23
25
  */
24
- setEnhanceGain: (userId: string, mediaType: K_mediaType, gain: number) => Promise<void>;
26
+ setEnhanceGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => Promise<void>;
25
27
  /**
26
- * setVolume
28
+ * setSpeaker
27
29
  * @param userId
28
30
  * @param mediaType
29
31
  * @param gain 0-1
30
32
  */
31
- setVolume: (userId: string, mediaType: K_mediaType, gain: number) => void;
33
+ setSpeaker: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
34
+ /**
35
+ * 播放音效
36
+ */
37
+ playBgs: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", buffer: AudioBuffer | null) => Promise<unknown> | undefined;
38
+ /**
39
+ * 设置音效音量
40
+ */
41
+ setBgsGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
42
+ /**
43
+ * 停止音效
44
+ */
45
+ stopBgs: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => void;
46
+ /**
47
+ * 播放音乐
48
+ */
49
+ playBgm: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", buffer: AudioBuffer | null) => Promise<unknown> | undefined;
50
+ /**
51
+ * 设置背景音乐音量
52
+ */
53
+ setBgmGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
54
+ /**
55
+ * 停止音乐
56
+ */
57
+ stopBgm: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => void;
58
+ /**
59
+ * 开关音效融合
60
+ */
61
+ changBgsMix: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", state: boolean) => void;
62
+ /**
63
+ * 开关音乐融合
64
+ */
65
+ changBgmMix: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", state: boolean) => void;
32
66
  /**
33
67
  * getVolume
34
68
  * @param userId
35
69
  * @param mediaType
36
70
  * @returns volume
37
71
  */
38
- getVolume: (userId: string, mediaType: K_mediaType) => number;
72
+ getVolume: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => number | undefined;
39
73
  /**
40
74
  * clearUsers
41
75
  */
package/dist/types.d.ts CHANGED
@@ -54,6 +54,7 @@ export interface Message extends protos.com.quick.voice.proto.ICommonReq {
54
54
  * 格式化时间戳
55
55
  */
56
56
  timeStr?: string;
57
+ sn?: number;
57
58
  }
58
59
  /**
59
60
  * 用户轨道
@@ -274,4 +275,9 @@ export interface RoomOptions {
274
275
  */
275
276
  newPublishAutoSubscribe?: boolean;
276
277
  }
278
+ export interface UserAudioFilterOptions {
279
+ autoGainControl: boolean;
280
+ noiseSuppression: boolean;
281
+ echoCancellation: boolean;
282
+ }
277
283
  export type Report_Log_Type = 'ws_c_timeout' | 'webrtc_c_timeout' | 'join_room_error' | 'publish_error' | 'subscribe_error' | 'close_track_error' | 'heartbeat_e_timeout' | 'heartbeat_i_timeout' | 'quit_room_error';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quickvo-sdk-js",
3
3
  "description": "提供快捷接入单对单、单对多、群体会议、舞台会议等音视频功能。",
4
- "version": "0.9.4",
4
+ "version": "0.9.6",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -23,6 +23,7 @@
23
23
  "@timecat/recorder": "1.2.0-alpha.27",
24
24
  "opus-decoder": "^0.7.10",
25
25
  "pako": "^2.1.0",
26
+ "pr-audio-stream": "^0.1.0",
26
27
  "pr-task-queue": "^0.4.4",
27
28
  "pr-tools": "^1.5.7",
28
29
  "pr-ws": "^0.2.5",
@@ -1,55 +0,0 @@
1
- export interface UserAudioFilterOptions {
2
- autoGainControl: boolean;
3
- noiseSuppression: boolean;
4
- echoCancellation: boolean;
5
- }
6
- export declare class AudioMediaContext {
7
- options: UserAudioFilterOptions;
8
- kind: "audio";
9
- original_stream: MediaStream;
10
- filterStream: (old_stream: MediaStream) => MediaStream;
11
- inputGain: number;
12
- outputGain: number;
13
- enhanceGain: number;
14
- audio: HTMLAudioElement;
15
- audioContext: AudioContext;
16
- sourceNode: MediaStreamAudioSourceNode;
17
- inputGainNode: GainNode;
18
- analyserNode: AnalyserNode;
19
- analyserArrayData: Uint8Array;
20
- outputGainNode: GainNode;
21
- constructor(track: MediaStreamTrack, audioContext: AudioContext);
22
- initNodes: () => void;
23
- /**
24
- * 停止
25
- */
26
- stop: () => void;
27
- /**
28
- * 替换媒体
29
- */
30
- replaceStream: (stream: MediaStream) => void;
31
- /**
32
- * 获取数据流
33
- */
34
- getStream: () => MediaStream;
35
- /**
36
- * 静音
37
- */
38
- setMute: (state?: boolean) => void;
39
- /**
40
- * 设置麦克风增强音量
41
- */
42
- setEnhanceGain: (gain: number) => Promise<void>;
43
- /**
44
- * 设置扬声器音量
45
- */
46
- setVolumeGain: (gain: number) => void;
47
- /**
48
- * 获取输入音量
49
- */
50
- getVolume: () => number;
51
- /**
52
- * 设置音频过滤
53
- */
54
- setFilter: (options?: Partial<UserAudioFilterOptions>) => Partial<UserAudioFilterOptions>;
55
- }