quickvo-sdk-js 0.9.3 → 0.9.5
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/enums/eventName.d.ts +14 -12
- package/dist/enums/notifyName.d.ts +3 -1
- package/dist/index.js +19332 -13329
- package/dist/index.umd.cjs +201 -2
- package/dist/protos/compiled.d.ts +5009 -5009
- package/dist/room/NetworkQualityTester.d.ts +44 -0
- package/dist/room/RoomBase.d.ts +21 -6
- package/dist/room/RoomCalls.d.ts +15 -0
- package/dist/room/RoomMedias.d.ts +20 -9
- package/dist/room/RoomPeer.d.ts +8 -0
- package/dist/room/RoomUsers.d.ts +54 -8
- package/dist/room/StreamRecorder.d.ts +36 -0
- package/dist/types.d.ts +35 -0
- package/package.json +50 -44
- package/dist/room/mediaStreams/AudioMediaContext.d.ts +0 -55
- /package/dist/room/{mediaStreams/VideoMediaContext.d.ts → VideoMediaContext.d.ts} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare class NetworkQualityTester {
|
|
2
|
+
targetUrls: string[];
|
|
3
|
+
results: any[];
|
|
4
|
+
constructor(targetUrls?: string[]);
|
|
5
|
+
testAll(): Promise<{
|
|
6
|
+
overallSuccess: boolean;
|
|
7
|
+
message: string;
|
|
8
|
+
totalTests?: undefined;
|
|
9
|
+
successfulTests?: undefined;
|
|
10
|
+
averageDownloadSpeed?: undefined;
|
|
11
|
+
averageResponseTime?: undefined;
|
|
12
|
+
totalDataTransferred?: undefined;
|
|
13
|
+
detailedResults?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
overallSuccess: boolean;
|
|
16
|
+
totalTests: number;
|
|
17
|
+
successfulTests: number;
|
|
18
|
+
averageDownloadSpeed: string;
|
|
19
|
+
averageResponseTime: string;
|
|
20
|
+
totalDataTransferred: string;
|
|
21
|
+
detailedResults: any[];
|
|
22
|
+
message?: undefined;
|
|
23
|
+
}>;
|
|
24
|
+
testUrl(url: string): Promise<void>;
|
|
25
|
+
analyzeResults(): {
|
|
26
|
+
overallSuccess: boolean;
|
|
27
|
+
message: string;
|
|
28
|
+
totalTests?: undefined;
|
|
29
|
+
successfulTests?: undefined;
|
|
30
|
+
averageDownloadSpeed?: undefined;
|
|
31
|
+
averageResponseTime?: undefined;
|
|
32
|
+
totalDataTransferred?: undefined;
|
|
33
|
+
detailedResults?: undefined;
|
|
34
|
+
} | {
|
|
35
|
+
overallSuccess: boolean;
|
|
36
|
+
totalTests: number;
|
|
37
|
+
successfulTests: number;
|
|
38
|
+
averageDownloadSpeed: string;
|
|
39
|
+
averageResponseTime: string;
|
|
40
|
+
totalDataTransferred: string;
|
|
41
|
+
detailedResults: any[];
|
|
42
|
+
message?: undefined;
|
|
43
|
+
};
|
|
44
|
+
}
|
package/dist/room/RoomBase.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { QuickOptions, Report_Log_Type, RoomOptions, RoomUser, UserTrack } from
|
|
|
3
3
|
import { CallsWebSocket, CallsWebSocketOptions } from './CallsWebSocket';
|
|
4
4
|
import { K_mediaType } from '../enums/mediaType';
|
|
5
5
|
import { PrTaskQueue } from 'pr-task-queue';
|
|
6
|
+
import { NetworkQualityTester } from './NetworkQualityTester';
|
|
7
|
+
import { StreamRecorder } from './StreamRecorder';
|
|
6
8
|
type Options = QuickOptions & RoomOptions & CallsWebSocketOptions & {
|
|
7
9
|
earlyId?: string;
|
|
8
10
|
};
|
|
@@ -12,15 +14,19 @@ export declare class RoomBase {
|
|
|
12
14
|
prohibitNotify: boolean;
|
|
13
15
|
isEarly: boolean;
|
|
14
16
|
isInRoom: boolean;
|
|
15
|
-
taskQueue: PrTaskQueue<"
|
|
17
|
+
taskQueue: PrTaskQueue<"publish" | "subscribe" | "renegotiate" | "closeTrack" | "joinRoom" | "createWs" | "createSession" | "ice" | "createTrack">;
|
|
16
18
|
roomState: K_roomState;
|
|
17
19
|
createAt: number;
|
|
18
20
|
cwsIns: CallsWebSocket;
|
|
19
21
|
peerIns: RTCPeerConnection;
|
|
20
22
|
transceiverMap: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
|
|
23
|
+
sendChannel: RTCDataChannel;
|
|
24
|
+
receiveChannel: RTCDataChannel;
|
|
21
25
|
userMap: Map<string, RoomUser>;
|
|
22
26
|
setLocalStreamActiveMap: Map<K_mediaType, Boolean>;
|
|
23
27
|
phoneyStreams: Map<K_mediaType, MediaStream>;
|
|
28
|
+
recorder: StreamRecorder;
|
|
29
|
+
networkQualityTester: NetworkQualityTester;
|
|
24
30
|
mediaDevicesErrInfo: {
|
|
25
31
|
microphoneCamera_audio: string;
|
|
26
32
|
microphoneCamera_video: string;
|
|
@@ -32,7 +38,7 @@ export declare class RoomBase {
|
|
|
32
38
|
* reportLogs
|
|
33
39
|
*/
|
|
34
40
|
reportLogs: (_type: Report_Log_Type, describe?: string) => void;
|
|
35
|
-
initPhoneyStreams: (audioContext: AudioContext) => void;
|
|
41
|
+
initPhoneyStreams: (audioContext: AudioContext, mediaTypes?: K_mediaType[]) => void;
|
|
36
42
|
getPhoneyStreams: (mediaType: K_mediaType) => MediaStream;
|
|
37
43
|
/**
|
|
38
44
|
* getRoomInfo
|
|
@@ -79,6 +85,10 @@ export declare class RoomBase {
|
|
|
79
85
|
* getUserMediaKey
|
|
80
86
|
*/
|
|
81
87
|
getUserMediaKey: (userId: string, mediaType: string) => string;
|
|
88
|
+
/**
|
|
89
|
+
* getCallAction
|
|
90
|
+
*/
|
|
91
|
+
getCallAction: (tracks: UserTrack[]) => Promise<number>;
|
|
82
92
|
/**
|
|
83
93
|
* getCallActionMap
|
|
84
94
|
*/
|
|
@@ -89,13 +99,18 @@ export declare class RoomBase {
|
|
|
89
99
|
screenSharing_audio: boolean;
|
|
90
100
|
};
|
|
91
101
|
/**
|
|
92
|
-
*
|
|
102
|
+
* getBanBehaviorMap
|
|
93
103
|
*/
|
|
94
|
-
|
|
104
|
+
getBanBehaviorMap: (num?: number) => {
|
|
105
|
+
microphoneCamera_audio: boolean;
|
|
106
|
+
microphoneCamera_video: boolean;
|
|
107
|
+
screenSharing_video: boolean;
|
|
108
|
+
screenSharing_audio: boolean;
|
|
109
|
+
};
|
|
95
110
|
/**
|
|
96
|
-
*
|
|
111
|
+
* getAverageVolume
|
|
97
112
|
*/
|
|
98
|
-
|
|
113
|
+
getAverageVolume: (analyser: AnalyserNode, dataArray: Uint8Array) => number;
|
|
99
114
|
/**
|
|
100
115
|
* getTrackNamesFormTracks
|
|
101
116
|
* @param tracks
|
package/dist/room/RoomCalls.d.ts
CHANGED
|
@@ -102,6 +102,21 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
102
102
|
* @example quickvo.inactiveTracks(['microphoneCamera_audio'], false)
|
|
103
103
|
*/
|
|
104
104
|
inactiveTracks: (mediaTypes: K_mediaType[], enabled: boolean) => Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* setBanBehaviors
|
|
107
|
+
*/
|
|
108
|
+
setBanBehaviors: (usersBehaviors: Array<{
|
|
109
|
+
id: string;
|
|
110
|
+
banBehaviors: { [key in K_mediaType]?: boolean; };
|
|
111
|
+
}>) => Promise<unknown>;
|
|
112
|
+
/**
|
|
113
|
+
* pubChannel
|
|
114
|
+
*/
|
|
115
|
+
pubChannel: () => Promise<Boolean>;
|
|
116
|
+
/**
|
|
117
|
+
* subChannel
|
|
118
|
+
*/
|
|
119
|
+
subChannel: (userChannels?: any[]) => Promise<Boolean>;
|
|
105
120
|
debugger: () => Promise<any>;
|
|
106
121
|
shutdown: () => Promise<any>;
|
|
107
122
|
initHeartbeat: () => void;
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { K_mediaType } from '../enums/mediaType';
|
|
2
2
|
import { QuickOptions, Streams } from '../types';
|
|
3
|
-
import {
|
|
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>;
|
|
9
|
+
audioContext: AudioContext;
|
|
9
10
|
constructor(options: QuickOptions);
|
|
11
|
+
initMediaPhoneyStreams: (mediaTypes?: K_mediaType[]) => void;
|
|
10
12
|
/**
|
|
11
|
-
*
|
|
13
|
+
* initLocalStreamsFilter
|
|
12
14
|
*/
|
|
13
|
-
|
|
15
|
+
initLocalStreamsFilter: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* setFilterStream
|
|
18
|
+
*/
|
|
19
|
+
setLocalFilterStream: (mediaType: K_mediaType, filterStreamFunc: (old_stream: MediaStream) => Promise<MediaStream>) => void;
|
|
14
20
|
/**
|
|
15
21
|
* emitNotifyUpdateUsersStreams
|
|
16
22
|
*/
|
|
@@ -25,15 +31,15 @@ export declare class RoomMedias extends RoomBase {
|
|
|
25
31
|
/**
|
|
26
32
|
* getUserMediaStreamContext
|
|
27
33
|
*/
|
|
28
|
-
getUserMediaStreamContext: (userId: string, mediaType: K_mediaType) =>
|
|
34
|
+
getUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => VideoMediaContext | PrAudioStream | undefined;
|
|
29
35
|
/**
|
|
30
36
|
* getUserAudioMediaStreamContext
|
|
31
37
|
*/
|
|
32
|
-
getUserAudioMediaStreamContext: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") =>
|
|
38
|
+
getUserAudioMediaStreamContext: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => PrAudioStream | undefined;
|
|
33
39
|
/**
|
|
34
40
|
* removeUserMediaStreamContext
|
|
35
41
|
*/
|
|
36
|
-
removeUserMediaStreamContext: (userId: string, mediaType: K_mediaType) =>
|
|
42
|
+
removeUserMediaStreamContext: (userId: string, mediaType: K_mediaType) => boolean | VideoMediaContext | undefined;
|
|
37
43
|
/**
|
|
38
44
|
* getUserStream
|
|
39
45
|
*/
|
|
@@ -58,6 +64,11 @@ export declare class RoomMedias extends RoomBase {
|
|
|
58
64
|
* stopLocalStreams
|
|
59
65
|
*/
|
|
60
66
|
stopLocalStreams: (mediaTypes?: K_mediaType[]) => Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* addLocalStream
|
|
69
|
+
* @param mediaType
|
|
70
|
+
* @param stream
|
|
71
|
+
*/
|
|
61
72
|
addLocalStream: (mediaType: K_mediaType, stream: MediaStream) => void;
|
|
62
73
|
/**
|
|
63
74
|
* initLocalStream
|
|
@@ -66,11 +77,11 @@ export declare class RoomMedias extends RoomBase {
|
|
|
66
77
|
/**
|
|
67
78
|
* getLocalStream
|
|
68
79
|
*/
|
|
69
|
-
getLocalStream: (mediaType: K_mediaType) => MediaStream | undefined
|
|
80
|
+
getLocalStream: (mediaType: K_mediaType) => Promise<MediaStream | undefined>;
|
|
70
81
|
/**
|
|
71
82
|
* getLocalStreams
|
|
72
83
|
*/
|
|
73
|
-
getLocalStreams: (mediaTypes?: K_mediaType[]) => Streams
|
|
84
|
+
getLocalStreams: (mediaTypes?: K_mediaType[]) => Promise<Streams>;
|
|
74
85
|
/**
|
|
75
86
|
* getMediaDeviceKind
|
|
76
87
|
* @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
|
package/dist/room/RoomPeer.d.ts
CHANGED
|
@@ -15,6 +15,14 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
15
15
|
};
|
|
16
16
|
constructor(options: QuickOptions);
|
|
17
17
|
initPeer: () => void;
|
|
18
|
+
/**
|
|
19
|
+
* initSendChannel
|
|
20
|
+
*/
|
|
21
|
+
initSendChannel: (label: string | undefined, id: number) => void;
|
|
22
|
+
/**
|
|
23
|
+
* initReceiveChannel
|
|
24
|
+
*/
|
|
25
|
+
initReceiveChannel: (label: string | undefined, id: number) => void;
|
|
18
26
|
/**
|
|
19
27
|
* replaceSenderStream
|
|
20
28
|
*/
|
package/dist/room/RoomUsers.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { K_mediaType } from '../enums/mediaType';
|
|
2
|
-
import { QuickOptions, RoomUser, UserTrack } from '../types';
|
|
2
|
+
import { QuickOptions, RoomUser, UserAudioFilterOptions, 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
|
/**
|
|
@@ -15,27 +14,66 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
15
14
|
* setAudioFilter
|
|
16
15
|
*/
|
|
17
16
|
setAudioFilter: (options?: Partial<UserAudioFilterOptions>) => Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* setVolume
|
|
19
|
+
* @param userId
|
|
20
|
+
* @param mediaType
|
|
21
|
+
* @param gain 0-1
|
|
22
|
+
*/
|
|
23
|
+
setVolume: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
|
|
18
24
|
/**
|
|
19
25
|
* setEnhanceGain
|
|
20
26
|
* @param userId
|
|
21
27
|
* @param mediaType
|
|
22
28
|
* @param gain 0-100
|
|
23
29
|
*/
|
|
24
|
-
setEnhanceGain: (userId: string, mediaType:
|
|
30
|
+
setEnhanceGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => Promise<void>;
|
|
25
31
|
/**
|
|
26
|
-
*
|
|
32
|
+
* setSpeaker
|
|
27
33
|
* @param userId
|
|
28
34
|
* @param mediaType
|
|
29
35
|
* @param gain 0-1
|
|
30
36
|
*/
|
|
31
|
-
|
|
37
|
+
setSpeaker: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
|
|
38
|
+
/**
|
|
39
|
+
* 播放音效
|
|
40
|
+
*/
|
|
41
|
+
playBgs: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", buffer: AudioBuffer | null) => Promise<unknown> | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* 设置音效音量
|
|
44
|
+
*/
|
|
45
|
+
setBgsGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
|
|
46
|
+
/**
|
|
47
|
+
* 停止音效
|
|
48
|
+
*/
|
|
49
|
+
stopBgs: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => void;
|
|
50
|
+
/**
|
|
51
|
+
* 播放音乐
|
|
52
|
+
*/
|
|
53
|
+
playBgm: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", buffer: AudioBuffer | null) => Promise<unknown> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* 设置背景音乐音量
|
|
56
|
+
*/
|
|
57
|
+
setBgmGain: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", gain: number) => void;
|
|
58
|
+
/**
|
|
59
|
+
* 停止音乐
|
|
60
|
+
*/
|
|
61
|
+
stopBgm: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => void;
|
|
62
|
+
/**
|
|
63
|
+
* 开关音效融合
|
|
64
|
+
*/
|
|
65
|
+
changBgsMix: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", state: boolean) => void;
|
|
66
|
+
/**
|
|
67
|
+
* 开关音乐融合
|
|
68
|
+
*/
|
|
69
|
+
changBgmMix: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio", state: boolean) => void;
|
|
32
70
|
/**
|
|
33
71
|
* getVolume
|
|
34
72
|
* @param userId
|
|
35
73
|
* @param mediaType
|
|
36
74
|
* @returns volume
|
|
37
75
|
*/
|
|
38
|
-
getVolume: (userId: string, mediaType:
|
|
76
|
+
getVolume: (userId: string, mediaType: "microphoneCamera_audio" | "screenSharing_audio") => number | undefined;
|
|
39
77
|
/**
|
|
40
78
|
* clearUsers
|
|
41
79
|
*/
|
|
@@ -77,14 +115,18 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
77
115
|
*/
|
|
78
116
|
getUsersId: () => Promise<string[]>;
|
|
79
117
|
/**
|
|
80
|
-
*
|
|
118
|
+
* getSelfInfo
|
|
81
119
|
*/
|
|
82
|
-
|
|
120
|
+
getSelfInfo: () => Promise<RoomUser>;
|
|
83
121
|
updateIsPublished: (userId: string, isPublished?: boolean) => Promise<void>;
|
|
84
122
|
/**
|
|
85
123
|
* setUserUpdateStreams
|
|
86
124
|
*/
|
|
87
125
|
setUserUpdateStreams: (userId: string, mediaType: K_mediaType, state?: boolean) => Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* updateUserChannels
|
|
128
|
+
*/
|
|
129
|
+
updateUserChannels: (userId: string, channels: any[] | undefined, merge: Boolean) => Promise<void>;
|
|
88
130
|
/**
|
|
89
131
|
* updateUsertracks
|
|
90
132
|
*/
|
|
@@ -93,6 +135,10 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
93
135
|
* updateUserCallAction
|
|
94
136
|
*/
|
|
95
137
|
updateUserCallAction: (userId: string, callAction?: number) => Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* updateUserBehaviors
|
|
140
|
+
*/
|
|
141
|
+
updateUserBehaviors: (userId: string, banBehavior?: number) => Promise<void>;
|
|
96
142
|
/**
|
|
97
143
|
* updateUserNetwork
|
|
98
144
|
*/
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare class StreamRecorder {
|
|
2
|
+
#private;
|
|
3
|
+
onchange: (_e: any) => void;
|
|
4
|
+
onDurationChange: (_e: number) => void;
|
|
5
|
+
constructor();
|
|
6
|
+
/**
|
|
7
|
+
* start
|
|
8
|
+
*/
|
|
9
|
+
start: (fileName?: string) => Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* pause
|
|
12
|
+
*/
|
|
13
|
+
pause: () => Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* resume
|
|
16
|
+
*/
|
|
17
|
+
resume: () => Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* stop
|
|
20
|
+
*/
|
|
21
|
+
stop: () => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* getDuration
|
|
24
|
+
*/
|
|
25
|
+
getDuration: () => number;
|
|
26
|
+
/**
|
|
27
|
+
* getInfo
|
|
28
|
+
*/
|
|
29
|
+
getInfo: () => {
|
|
30
|
+
active: boolean;
|
|
31
|
+
pause: boolean;
|
|
32
|
+
startTime: number;
|
|
33
|
+
endTime: number;
|
|
34
|
+
duration: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
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
|
* 用户轨道
|
|
@@ -100,6 +101,19 @@ export interface UserTrack {
|
|
|
100
101
|
*/
|
|
101
102
|
settings?: MediaTrackSettings;
|
|
102
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* 数据通道
|
|
106
|
+
*/
|
|
107
|
+
export interface Channel {
|
|
108
|
+
/**
|
|
109
|
+
* dataChannelName
|
|
110
|
+
*/
|
|
111
|
+
dataChannelName: string;
|
|
112
|
+
/**
|
|
113
|
+
* id
|
|
114
|
+
*/
|
|
115
|
+
id: number;
|
|
116
|
+
}
|
|
103
117
|
/**
|
|
104
118
|
* 事件
|
|
105
119
|
*/
|
|
@@ -169,6 +183,14 @@ export interface RoomUser {
|
|
|
169
183
|
callActionMap: {
|
|
170
184
|
[key in K_mediaType]: boolean;
|
|
171
185
|
};
|
|
186
|
+
/**
|
|
187
|
+
* 禁止行为
|
|
188
|
+
*/
|
|
189
|
+
banBehavior: number;
|
|
190
|
+
banBehaviorStr: string;
|
|
191
|
+
banBehaviorMap: {
|
|
192
|
+
[key in K_mediaType]: boolean;
|
|
193
|
+
};
|
|
172
194
|
/**
|
|
173
195
|
* 通话行为
|
|
174
196
|
*/
|
|
@@ -181,6 +203,10 @@ export interface RoomUser {
|
|
|
181
203
|
* 加入时间
|
|
182
204
|
*/
|
|
183
205
|
joinTime: number;
|
|
206
|
+
/**
|
|
207
|
+
* 是否为房间所有者
|
|
208
|
+
*/
|
|
209
|
+
isOwner: boolean;
|
|
184
210
|
/**
|
|
185
211
|
* 是否为自己
|
|
186
212
|
*/
|
|
@@ -208,6 +234,10 @@ export interface RoomUser {
|
|
|
208
234
|
* 用户轨道
|
|
209
235
|
*/
|
|
210
236
|
tracks: UserTrack[];
|
|
237
|
+
/**
|
|
238
|
+
* 用户数据通道
|
|
239
|
+
*/
|
|
240
|
+
channels: Channel[];
|
|
211
241
|
/**
|
|
212
242
|
* 是否更新了流
|
|
213
243
|
*/
|
|
@@ -245,4 +275,9 @@ export interface RoomOptions {
|
|
|
245
275
|
*/
|
|
246
276
|
newPublishAutoSubscribe?: boolean;
|
|
247
277
|
}
|
|
278
|
+
export interface UserAudioFilterOptions {
|
|
279
|
+
autoGainControl: boolean;
|
|
280
|
+
noiseSuppression: boolean;
|
|
281
|
+
echoCancellation: boolean;
|
|
282
|
+
}
|
|
248
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,44 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "quickvo-sdk-js",
|
|
3
|
-
"description": "提供快捷接入单对单、单对多、群体会议、舞台会议等音视频功能。",
|
|
4
|
-
"version": "0.9.
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist"
|
|
8
|
-
],
|
|
9
|
-
"main": "./dist/index.umd.cjs",
|
|
10
|
-
"module": "./dist/index.js",
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"import": "./dist/index.js",
|
|
15
|
-
"require": "./dist/index.umd.cjs"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc && vite build"
|
|
20
|
-
},
|
|
21
|
-
"dependencies": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "quickvo-sdk-js",
|
|
3
|
+
"description": "提供快捷接入单对单、单对多、群体会议、舞台会议等音视频功能。",
|
|
4
|
+
"version": "0.9.5",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"main": "./dist/index.umd.cjs",
|
|
10
|
+
"module": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"require": "./dist/index.umd.cjs"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc && vite build"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@timecat/player": "1.2.0-alpha.27",
|
|
23
|
+
"@timecat/recorder": "1.2.0-alpha.27",
|
|
24
|
+
"opus-decoder": "^0.7.10",
|
|
25
|
+
"pako": "^2.1.0",
|
|
26
|
+
"pr-audio-stream": "^0.1.0",
|
|
27
|
+
"pr-task-queue": "^0.4.4",
|
|
28
|
+
"pr-tools": "^1.5.7",
|
|
29
|
+
"pr-ws": "^0.2.5",
|
|
30
|
+
"sdp-transform": "^2.15.0",
|
|
31
|
+
"timecatjs": "1.2.0-alpha.27",
|
|
32
|
+
"webm-duration-fix": "^1.0.4"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"protobufjs": "^7.4.0",
|
|
36
|
+
"typescript": "^5.8.2",
|
|
37
|
+
"vite": "^6.2.2",
|
|
38
|
+
"vite-plugin-bundle-obfuscator": "^1.6.0",
|
|
39
|
+
"vite-plugin-dts": "^4.5.3"
|
|
40
|
+
},
|
|
41
|
+
"private": false,
|
|
42
|
+
"author": "Breathe",
|
|
43
|
+
"keywords": [
|
|
44
|
+
"quickvo-sdk-js"
|
|
45
|
+
],
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "https://github.com/Breathe97/quickvo-sdk-js"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -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
|
-
stream: MediaStream;
|
|
10
|
-
inputGain: number;
|
|
11
|
-
outputGain: number;
|
|
12
|
-
enhanceGain: number;
|
|
13
|
-
audio: HTMLAudioElement;
|
|
14
|
-
audioContext: AudioContext;
|
|
15
|
-
sourceNode: MediaStreamAudioSourceNode;
|
|
16
|
-
inputGainNode: GainNode;
|
|
17
|
-
analyserNode: AnalyserNode;
|
|
18
|
-
analyserArrayData: Uint8Array;
|
|
19
|
-
outputGainNode: GainNode;
|
|
20
|
-
destinationNode: MediaStreamAudioDestinationNode;
|
|
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
|
-
}
|
|
File without changes
|