quickvo-sdk-js 1.4.6 → 1.5.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/README.md +19 -1
- package/dist/enums/eventName.d.ts +3 -1
- package/dist/enums/notifyName.d.ts +3 -1
- package/dist/index.js +20916 -20029
- package/dist/index.umd.cjs +3 -8
- package/dist/protos/compiled.d.ts +6986 -6506
- package/dist/protos/protoEvent.d.ts +6 -0
- package/dist/room/P2P.d.ts +52 -100
- package/dist/room/PeerAnalyzeStats.d.ts +4 -0
- package/dist/room/RoomBase.d.ts +3 -3
- package/dist/room/RoomCalls.d.ts +19 -12
- package/dist/room/RoomMedias.d.ts +8 -1
- package/dist/room/RoomPeer.d.ts +20 -7
- package/dist/room/RoomUsers.d.ts +25 -3
- package/dist/room/VideoMediaContext.d.ts +5 -0
- package/dist/tools.d.ts +1 -0
- package/dist/types.d.ts +25 -2
- package/package.json +9 -9
- package/dist/room/NetworkQualityTester.d.ts +0 -44
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Message } from '../types';
|
|
2
|
+
import * as protos from '../protos/index';
|
|
3
|
+
export declare const sendMessageFormat: (message: Message) => Message;
|
|
4
|
+
export declare const onMessageFormat: (message: any) => any;
|
|
5
|
+
export declare const obj2pb: (message: Message) => Uint8Array<ArrayBufferLike>;
|
|
6
|
+
export declare const pb2obj: (uint8Array: Uint8Array) => protos.com.quick.voice.proto.CommonRsp;
|
package/dist/room/P2P.d.ts
CHANGED
|
@@ -1,86 +1,62 @@
|
|
|
1
1
|
import { K_mediaType } from '../enums/mediaType';
|
|
2
2
|
import { PrResolves } from './PrResolves';
|
|
3
|
-
import { UserTrack } from '../types';
|
|
3
|
+
import { MediaTypeTransceiver, Message, UserTrack } from '../types';
|
|
4
4
|
import { PeerAnalyzeStats } from './PeerAnalyzeStats';
|
|
5
5
|
export declare class P2P {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
#private;
|
|
7
|
+
pr_resolves: PrResolves;
|
|
8
|
+
roomId: string;
|
|
9
|
+
userId: string;
|
|
10
|
+
remoteUserId: string;
|
|
11
|
+
phoney_streams_map: Map<K_mediaType, MediaStream>;
|
|
12
|
+
peer_ins?: RTCPeerConnection;
|
|
13
|
+
local_channel?: RTCDataChannel;
|
|
14
|
+
remote_channel?: RTCDataChannel;
|
|
15
|
+
icecandidates: RTCIceCandidate[];
|
|
16
|
+
candidate_collected: boolean;
|
|
17
|
+
analyze_stats_ins: PeerAnalyzeStats;
|
|
18
|
+
send_transceiver_map: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
|
|
19
|
+
recv_transceiver_map: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
|
|
18
20
|
tracks: MediaStreamTrack[];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
onSendPeerNetwork: (_e: any) => void;
|
|
23
|
-
onRecvPeerNetwork: (_e: any) => void;
|
|
24
|
-
getPhoneyStreams: (mediaType: K_mediaType) => MediaStream;
|
|
25
|
-
/**
|
|
26
|
-
* sendIceConnected
|
|
27
|
-
*/
|
|
28
|
-
sendIceConnected: () => Promise<unknown>;
|
|
29
|
-
/**
|
|
30
|
-
* recvIceConnected
|
|
31
|
-
*/
|
|
32
|
-
recvIceConnected: () => Promise<unknown>;
|
|
33
|
-
/**
|
|
34
|
-
* sendCandidateCollected
|
|
35
|
-
*/
|
|
36
|
-
sendCandidateCollected: () => Promise<unknown>;
|
|
37
|
-
/**
|
|
38
|
-
* recvCandidateCollected
|
|
39
|
-
*/
|
|
40
|
-
recvCandidateCollected: () => Promise<unknown>;
|
|
21
|
+
constructor(roomId: string, userId: string, remoteUserId: string, phoney_streams: Map<K_mediaType, MediaStream>);
|
|
22
|
+
remoteChannelSend: (message: Message) => void;
|
|
23
|
+
init: () => Promise<void>;
|
|
41
24
|
/**
|
|
42
|
-
*
|
|
43
|
-
*/
|
|
44
|
-
getSendIcecandidates: () => Promise<RTCIceCandidate[]>;
|
|
45
|
-
/**
|
|
46
|
-
* getRecvIcecandidates
|
|
25
|
+
* initSenders
|
|
47
26
|
*/
|
|
48
|
-
|
|
27
|
+
initSenders: (media_type_transceivers?: MediaTypeTransceiver[], direction?: RTCRtpTransceiverDirection) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
49
28
|
/**
|
|
50
|
-
*
|
|
29
|
+
* initRecvs
|
|
51
30
|
*/
|
|
52
|
-
|
|
31
|
+
initRecvs: (mediaTypes?: K_mediaType[], direction?: RTCRtpTransceiverDirection) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
32
|
+
hasRecv: (mediaType: K_mediaType) => Promise<boolean>;
|
|
33
|
+
checkActive: () => boolean;
|
|
34
|
+
pauseSends: (mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
35
|
+
pauseRecvs: (mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
53
36
|
/**
|
|
54
|
-
*
|
|
37
|
+
* createOffer
|
|
55
38
|
*/
|
|
56
|
-
|
|
39
|
+
createOffer: () => Promise<RTCSessionDescriptionInit>;
|
|
57
40
|
/**
|
|
58
|
-
*
|
|
41
|
+
* setOffer
|
|
59
42
|
*/
|
|
60
|
-
|
|
43
|
+
setOffer: (offer: RTCSessionDescriptionInit) => Promise<void>;
|
|
61
44
|
/**
|
|
62
|
-
*
|
|
45
|
+
* createAnswer
|
|
63
46
|
*/
|
|
64
|
-
|
|
47
|
+
createAnswer: () => Promise<RTCSessionDescriptionInit>;
|
|
65
48
|
/**
|
|
66
|
-
*
|
|
49
|
+
* setAnswer
|
|
67
50
|
*/
|
|
68
|
-
|
|
51
|
+
setAnswer: (answer: RTCSessionDescriptionInit) => Promise<void>;
|
|
69
52
|
/**
|
|
70
|
-
*
|
|
53
|
+
* getIcecandidates
|
|
71
54
|
*/
|
|
72
|
-
|
|
73
|
-
mid: string;
|
|
74
|
-
type: number;
|
|
75
|
-
}[]) => Promise<void>;
|
|
55
|
+
getIcecandidates: () => Promise<RTCIceCandidate[]>;
|
|
76
56
|
/**
|
|
77
|
-
*
|
|
78
|
-
*/
|
|
79
|
-
addSenders: (mediaTypes?: K_mediaType[]) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
80
|
-
/**
|
|
81
|
-
* addRecvs
|
|
57
|
+
* addCandidates
|
|
82
58
|
*/
|
|
83
|
-
|
|
59
|
+
addCandidates: (remote_candidates: RTCIceCandidateInit[]) => Promise<void>;
|
|
84
60
|
/**
|
|
85
61
|
* getSenderTracks
|
|
86
62
|
*/
|
|
@@ -95,53 +71,29 @@ export declare class P2P {
|
|
|
95
71
|
location: string;
|
|
96
72
|
mid: string | null;
|
|
97
73
|
key: string;
|
|
74
|
+
isActive: boolean;
|
|
98
75
|
}[]>;
|
|
99
76
|
/**
|
|
100
|
-
*
|
|
101
|
-
*/
|
|
102
|
-
createOffer: () => Promise<RTCSessionDescriptionInit>;
|
|
103
|
-
/**
|
|
104
|
-
* setOffer
|
|
105
|
-
*/
|
|
106
|
-
setOffer: (offer: RTCSessionDescriptionInit) => Promise<void>;
|
|
107
|
-
/**
|
|
108
|
-
* createAnswer
|
|
77
|
+
* isActive
|
|
109
78
|
*/
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* addCandidates
|
|
113
|
-
*/
|
|
114
|
-
addCandidates: (remote_candidates: RTCIceCandidate[]) => Promise<void>;
|
|
115
|
-
/**
|
|
116
|
-
* setAnswer
|
|
117
|
-
*/
|
|
118
|
-
setAnswer: (answer: RTCSessionDescriptionInit, answer_candidates: RTCIceCandidateInit[]) => Promise<void>;
|
|
79
|
+
isActive: (mediaType: K_mediaType) => boolean;
|
|
119
80
|
/**
|
|
120
81
|
* getTrack
|
|
121
82
|
*/
|
|
122
83
|
getTrack: (mediaType: K_mediaType) => MediaStreamTrack | undefined;
|
|
84
|
+
getPhoneyStreams: (mediaType: K_mediaType) => MediaStream;
|
|
123
85
|
/**
|
|
124
|
-
*
|
|
86
|
+
* candidateCollected
|
|
125
87
|
*/
|
|
126
|
-
|
|
127
|
-
inboundBytes: number;
|
|
128
|
-
outboundBytes: number;
|
|
129
|
-
lostRate: string;
|
|
130
|
-
roundTripTime: string;
|
|
131
|
-
jitter: string;
|
|
132
|
-
quality: number;
|
|
133
|
-
averageQuality: number;
|
|
134
|
-
};
|
|
88
|
+
candidateCollected: () => Promise<unknown>;
|
|
135
89
|
/**
|
|
136
|
-
*
|
|
90
|
+
* iceConnected
|
|
137
91
|
*/
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
averageQuality: number;
|
|
146
|
-
};
|
|
92
|
+
iceConnected: () => Promise<unknown>;
|
|
93
|
+
/**
|
|
94
|
+
* setOffered
|
|
95
|
+
*/
|
|
96
|
+
setOffered: () => Promise<unknown>;
|
|
97
|
+
checkPeer: () => RTCPeerConnection;
|
|
98
|
+
destroy: () => Promise<void>;
|
|
147
99
|
}
|
|
@@ -8,6 +8,8 @@ export declare class PeerAnalyzeStats {
|
|
|
8
8
|
jitter: string;
|
|
9
9
|
quality: number;
|
|
10
10
|
averageQuality: number;
|
|
11
|
+
velocityPull: number;
|
|
12
|
+
velocityPush: number;
|
|
11
13
|
};
|
|
12
14
|
reports: any[];
|
|
13
15
|
averageQualitys: number[];
|
|
@@ -22,6 +24,8 @@ export declare class PeerAnalyzeStats {
|
|
|
22
24
|
jitter: string;
|
|
23
25
|
quality: number;
|
|
24
26
|
averageQuality: number;
|
|
27
|
+
velocityPull: number;
|
|
28
|
+
velocityPush: number;
|
|
25
29
|
};
|
|
26
30
|
getAverageQuality: () => number;
|
|
27
31
|
/**
|
package/dist/room/RoomBase.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { K_roomState } from '../enums/roomState';
|
|
|
2
2
|
import { QuickOptions, Report_Log_Type, RoomOptions, RoomUser, UserMediaTypes, UserTrack, UserTracks } from '../types';
|
|
3
3
|
import { CallsWebSocket, CallsWebSocketOptions } from './CallsWebSocket';
|
|
4
4
|
import { K_mediaType } from '../enums/mediaType';
|
|
5
|
-
import { NetworkQualityTester } from './NetworkQualityTester';
|
|
6
5
|
import { StreamRecorder } from './StreamRecorder';
|
|
7
6
|
import { PrAsyncQueue } from 'pr-async-queue';
|
|
8
7
|
import { P2P } from './P2P';
|
|
@@ -41,7 +40,6 @@ export declare class RoomBase {
|
|
|
41
40
|
setLocalStreamActiveMap: Map<K_mediaType, Boolean>;
|
|
42
41
|
phoneyStreams: Map<K_mediaType, MediaStream>;
|
|
43
42
|
recorder: StreamRecorder;
|
|
44
|
-
networkQualityTester: NetworkQualityTester;
|
|
45
43
|
mediaDevicesErrInfo: {
|
|
46
44
|
microphoneCamera_audio: string;
|
|
47
45
|
microphoneCamera_video: string;
|
|
@@ -68,6 +66,7 @@ export declare class RoomBase {
|
|
|
68
66
|
logUrl?: string;
|
|
69
67
|
debug?: boolean;
|
|
70
68
|
reportErr?: boolean;
|
|
69
|
+
useP2P?: boolean;
|
|
71
70
|
callStrategy?: import('../enums/callStrategy').K_callStrategy;
|
|
72
71
|
sdkToken?: string;
|
|
73
72
|
roomId: string;
|
|
@@ -129,10 +128,11 @@ export declare class RoomBase {
|
|
|
129
128
|
screenSharing_video: boolean;
|
|
130
129
|
screenSharing_audio: boolean;
|
|
131
130
|
};
|
|
131
|
+
debugSdp: (sdp: string | undefined, desc: string) => void;
|
|
132
132
|
/**
|
|
133
133
|
* getAverageVolume
|
|
134
134
|
*/
|
|
135
|
-
getAverageVolume: (analyser: AnalyserNode, dataArray: Uint8Array) => number;
|
|
135
|
+
getAverageVolume: (analyser: AnalyserNode, dataArray: Uint8Array<ArrayBuffer>) => number;
|
|
136
136
|
/**
|
|
137
137
|
* getTrackNamesFormTracks
|
|
138
138
|
* @param tracks
|
package/dist/room/RoomCalls.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
16
16
|
/**
|
|
17
17
|
* setMediaDeviceKind
|
|
18
18
|
* @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
|
|
19
|
-
* @param deviceId string
|
|
19
|
+
* @param deviceId string | undefined
|
|
20
20
|
*/
|
|
21
|
-
setMediaDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string) => Promise<unknown>;
|
|
21
|
+
setMediaDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string | undefined) => Promise<unknown>;
|
|
22
22
|
/**
|
|
23
23
|
* changeScreenSharing
|
|
24
24
|
* @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
|
|
@@ -79,11 +79,12 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
79
79
|
*/
|
|
80
80
|
stopPublish: (mediaTypes?: K_mediaType[]) => Promise<boolean>;
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* pauseTracks
|
|
83
83
|
* @param mediaTypes MediaType[]
|
|
84
|
-
* @param
|
|
85
|
-
* @example quickvo.
|
|
84
|
+
* @param pause boolean
|
|
85
|
+
* @example quickvo.pauseTracks(['microphoneCamera_audio'], true)
|
|
86
86
|
*/
|
|
87
|
+
pauseTracks: (mediaTypes: K_mediaType[], pause: boolean) => Promise<boolean>;
|
|
87
88
|
inactiveTracks: (mediaTypes: K_mediaType[], enabled: boolean) => Promise<boolean>;
|
|
88
89
|
/**
|
|
89
90
|
* subscribe
|
|
@@ -98,7 +99,11 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
98
99
|
* @example quickvo.stopSubscribe([{ userId: '123', mediaTypes: ['mediaTypes', 'microphoneCamera_video'] }])
|
|
99
100
|
* @returns Promise<boolean>
|
|
100
101
|
*/
|
|
101
|
-
stopSubscribe: (
|
|
102
|
+
stopSubscribe: (usersMediaTypes?: UserMediaTypes[]) => Promise<boolean>;
|
|
103
|
+
/**
|
|
104
|
+
* updateSimulcast
|
|
105
|
+
*/
|
|
106
|
+
updateSimulcast: (simulcast: "f" | "h" | "q") => Promise<import('..').SendMessageRevolve<any>>;
|
|
102
107
|
/**
|
|
103
108
|
* setBanBehaviors
|
|
104
109
|
*/
|
|
@@ -138,6 +143,10 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
138
143
|
* wsConnected
|
|
139
144
|
*/
|
|
140
145
|
cwsConnected: () => Promise<unknown>;
|
|
146
|
+
/**
|
|
147
|
+
* #createSession
|
|
148
|
+
*/
|
|
149
|
+
createSession: () => Promise<unknown>;
|
|
141
150
|
p2p: {
|
|
142
151
|
/**
|
|
143
152
|
* open
|
|
@@ -147,6 +156,8 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
147
156
|
* replaceSenderStreams
|
|
148
157
|
*/
|
|
149
158
|
replaceSenderStreams: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, isReal: Boolean) => Promise<void>;
|
|
159
|
+
pauseSends: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<void>;
|
|
160
|
+
pauseRecvs: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<void>;
|
|
150
161
|
/**
|
|
151
162
|
* reportNetwork
|
|
152
163
|
*/
|
|
@@ -156,12 +167,8 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
156
167
|
*/
|
|
157
168
|
reportP2PConnect: (recvUserId: string, sendUserId: string, state: "success" | "fail" | "ignore" | "disconnect" | "poor_network", reason?: string, pushUserIds?: string[], connectedTime?: number) => Promise<import('..').SendMessageRevolve<any>>;
|
|
158
169
|
/**
|
|
159
|
-
*
|
|
160
|
-
*/
|
|
161
|
-
closeSend: (userIds?: string[], mediaTypes?: K_mediaType[]) => Promise<void>;
|
|
162
|
-
/**
|
|
163
|
-
* closeRecv
|
|
170
|
+
* close
|
|
164
171
|
*/
|
|
165
|
-
|
|
172
|
+
close: (userIds?: string[]) => Promise<void>;
|
|
166
173
|
};
|
|
167
174
|
}
|
|
@@ -60,6 +60,13 @@ export declare class RoomMedias extends RoomBase {
|
|
|
60
60
|
* setMediaTrackConstraints
|
|
61
61
|
*/
|
|
62
62
|
setMediaTrackConstraints: (mediaType: K_mediaType, constraints: MediaTrackConstraints) => Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* checkLocalStream
|
|
65
|
+
*/
|
|
66
|
+
checkLocalStream: (mediaTypes?: K_mediaType[]) => Promise<{
|
|
67
|
+
valid_mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
|
|
68
|
+
invalid_mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
|
|
69
|
+
}>;
|
|
63
70
|
/**
|
|
64
71
|
* stopLocalStreams
|
|
65
72
|
*/
|
|
@@ -97,7 +104,7 @@ export declare class RoomMedias extends RoomBase {
|
|
|
97
104
|
* @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
|
|
98
105
|
* @param deviceId string
|
|
99
106
|
*/
|
|
100
|
-
setDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string) => void;
|
|
107
|
+
setDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string | undefined) => void;
|
|
101
108
|
/**
|
|
102
109
|
* setAudioOutputDevice
|
|
103
110
|
* @param deviceId string
|
package/dist/room/RoomPeer.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { PeerAnalyzeStats } from './PeerAnalyzeStats';
|
|
|
6
6
|
export declare class RoomPeer extends RoomUsers {
|
|
7
7
|
#private;
|
|
8
8
|
peerAnalyzeStatsIns: PeerAnalyzeStats;
|
|
9
|
+
simulcast: 'f' | 'h' | 'q';
|
|
9
10
|
offset_inboundBytes: number;
|
|
10
11
|
offset_outboundBytes: number;
|
|
11
12
|
constructor(options: QuickOptions);
|
|
@@ -31,6 +32,7 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
31
32
|
* getSenderTracks
|
|
32
33
|
*/
|
|
33
34
|
getSenderTracks: (mediaTypes?: K_mediaType[]) => Promise<UserTrack[]>;
|
|
35
|
+
setCodecPreferences: (mediaType: K_mediaType) => void;
|
|
34
36
|
/**
|
|
35
37
|
* addSenders
|
|
36
38
|
*/
|
|
@@ -67,6 +69,10 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
67
69
|
* @param parameters RTCRtpSendParameters
|
|
68
70
|
*/
|
|
69
71
|
setRTCRtpSenderParameters: (parameters: RTCRtpSendParameters) => void;
|
|
72
|
+
/**
|
|
73
|
+
* setSimulcast
|
|
74
|
+
*/
|
|
75
|
+
setSimulcast: (simulcast: "f" | "h" | "q") => void;
|
|
70
76
|
/**
|
|
71
77
|
* getPeerNetwork
|
|
72
78
|
*/
|
|
@@ -78,18 +84,25 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
78
84
|
jitter: string;
|
|
79
85
|
quality: number;
|
|
80
86
|
averageQuality: number;
|
|
87
|
+
velocityPull: number;
|
|
88
|
+
velocityPush: number;
|
|
81
89
|
};
|
|
82
90
|
/**
|
|
83
91
|
* getRoomNetwork
|
|
84
92
|
*/
|
|
85
93
|
getRoomNetwork: () => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
sfu: any;
|
|
95
|
+
p2p: {
|
|
96
|
+
averageQuality: number;
|
|
97
|
+
inboundBytes: number;
|
|
98
|
+
jitter: number;
|
|
99
|
+
lostRate: number;
|
|
100
|
+
outboundBytes: number;
|
|
101
|
+
quality: number;
|
|
102
|
+
roundTripTime: number;
|
|
103
|
+
velocityPull: number;
|
|
104
|
+
velocityPush: number;
|
|
105
|
+
};
|
|
93
106
|
};
|
|
94
107
|
/**
|
|
95
108
|
* getReportsByMid
|
package/dist/room/RoomUsers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { K_mediaType } from '../enums/mediaType';
|
|
2
|
-
import { QuickOptions, RoomUser, UserMediaTypes, UserTrack
|
|
2
|
+
import { QuickOptions, RoomUser, UserMediaTypes, UserTrack } from '../types';
|
|
3
3
|
import { RoomMedias } from './RoomMedias';
|
|
4
4
|
import { P2P } from './P2P';
|
|
5
5
|
export declare class RoomUsers extends RoomMedias {
|
|
@@ -114,9 +114,31 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
114
114
|
mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
|
|
115
115
|
}[]>;
|
|
116
116
|
/**
|
|
117
|
-
*
|
|
117
|
+
* createUserTrackByUserMediaTypes
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
createUserTrackByUserMediaTypes: (usersMediaTypes?: UserMediaTypes[], covers?: {
|
|
120
|
+
lastRetry?: boolean;
|
|
121
|
+
simulcast?: "f" | "h" | "q";
|
|
122
|
+
}) => Promise<{
|
|
123
|
+
id: string;
|
|
124
|
+
tracks: {
|
|
125
|
+
lastRetry?: boolean;
|
|
126
|
+
simulcast?: "f" | "h" | "q";
|
|
127
|
+
location: string;
|
|
128
|
+
mid: string | null;
|
|
129
|
+
msid?: string | undefined;
|
|
130
|
+
trackName: string;
|
|
131
|
+
userId?: string;
|
|
132
|
+
type: number;
|
|
133
|
+
mediaType: K_mediaType;
|
|
134
|
+
volume?: number;
|
|
135
|
+
enabled?: boolean;
|
|
136
|
+
settings?: MediaTrackSettings;
|
|
137
|
+
key: string;
|
|
138
|
+
origin: "sfu" | "p2p" | "unknown";
|
|
139
|
+
}[];
|
|
140
|
+
}[]>;
|
|
141
|
+
getUserStreamOrigin: (userId: string, mediaType: K_mediaType) => Promise<"sfu" | "p2p" | "unknown">;
|
|
120
142
|
/**
|
|
121
143
|
* getAllUserMediaTypes
|
|
122
144
|
*/
|
package/dist/tools.d.ts
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -21,9 +21,13 @@ export interface QuickOptions {
|
|
|
21
21
|
*/
|
|
22
22
|
debug?: boolean;
|
|
23
23
|
/**
|
|
24
|
-
* 上报错误 默认为
|
|
24
|
+
* 上报错误 默认为true
|
|
25
25
|
*/
|
|
26
26
|
reportErr?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 是否使用p2p 默认为true
|
|
29
|
+
*/
|
|
30
|
+
useP2P?: boolean;
|
|
27
31
|
/**
|
|
28
32
|
* 通话策略
|
|
29
33
|
*/
|
|
@@ -55,6 +59,10 @@ export interface Message extends protos.com.quick.voice.proto.ICommonReq {
|
|
|
55
59
|
*/
|
|
56
60
|
timeStr?: string;
|
|
57
61
|
sn?: number;
|
|
62
|
+
/**
|
|
63
|
+
* 是否压缩数据
|
|
64
|
+
*/
|
|
65
|
+
compress?: boolean;
|
|
58
66
|
}
|
|
59
67
|
/**
|
|
60
68
|
* 用户轨道
|
|
@@ -104,7 +112,17 @@ export interface UserTrack {
|
|
|
104
112
|
* 唯一key 每次轨道变化均会改变
|
|
105
113
|
*/
|
|
106
114
|
key: string;
|
|
107
|
-
|
|
115
|
+
/**
|
|
116
|
+
* 数据来源
|
|
117
|
+
*/
|
|
118
|
+
origin: 'sfu' | 'p2p' | 'unknown';
|
|
119
|
+
/**
|
|
120
|
+
* 传输质量(video有效)
|
|
121
|
+
*/
|
|
122
|
+
simulcast?: 'f' | 'h' | 'q';
|
|
123
|
+
/**
|
|
124
|
+
* 是否声明最后一次订阅
|
|
125
|
+
*/
|
|
108
126
|
lastRetry?: boolean;
|
|
109
127
|
}
|
|
110
128
|
/**
|
|
@@ -305,3 +323,8 @@ export interface SubscribeRes {
|
|
|
305
323
|
fail_users: UserTracks[];
|
|
306
324
|
retry_users: UserTracks[];
|
|
307
325
|
}
|
|
326
|
+
export interface MediaTypeTransceiver {
|
|
327
|
+
mid: number | string | null;
|
|
328
|
+
mediaType: K_mediaType;
|
|
329
|
+
enabled: boolean;
|
|
330
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quickvo-sdk-js",
|
|
3
3
|
"description": "提供快捷接入单对单、单对多、群体会议、舞台会议等音视频功能。",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
@@ -21,19 +21,19 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"pako": "^2.1.0",
|
|
23
23
|
"pr-async-queue": "^0.1.3",
|
|
24
|
-
"pr-audio-stream": "^0.1.
|
|
24
|
+
"pr-audio-stream": "^0.1.4",
|
|
25
25
|
"pr-nat-type": "^0.1.2",
|
|
26
|
-
"pr-tools": "^1.6.
|
|
26
|
+
"pr-tools": "^1.6.4",
|
|
27
27
|
"pr-ws": "^0.3.3",
|
|
28
|
-
"sdp-transform": "^
|
|
28
|
+
"sdp-transform": "^3.0.0",
|
|
29
29
|
"webm-duration-fix": "^1.0.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"protobufjs": "^7.4
|
|
33
|
-
"typescript": "^5.
|
|
34
|
-
"vite": "^7.1.
|
|
35
|
-
"vite-plugin-bundle-obfuscator": "^1.
|
|
36
|
-
"vite-plugin-dts": "^4.5.
|
|
32
|
+
"protobufjs": "^7.5.4",
|
|
33
|
+
"typescript": "^5.9.3",
|
|
34
|
+
"vite": "^7.1.12",
|
|
35
|
+
"vite-plugin-bundle-obfuscator": "^1.8.0",
|
|
36
|
+
"vite-plugin-dts": "^4.5.4"
|
|
37
37
|
},
|
|
38
38
|
"private": false,
|
|
39
39
|
"author": "Breathe",
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
}
|