@vkontakte/calls-sdk 2.6.3-dev.c4e735f.0 → 2.6.3-dev.cd0dd8d.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/CallsSDK.d.ts +35 -4
- package/calls-sdk.cjs.js +8 -8
- package/calls-sdk.esm.js +8 -8
- package/classes/Conversation.d.ts +16 -2
- package/classes/MediaSource.d.ts +13 -1
- package/classes/transport/DirectTransport.d.ts +12 -0
- package/classes/transport/ServerTransport.d.ts +12 -1
- package/classes/transport/Transport.d.ts +6 -1
- package/enums/DataChannelLabel.d.ts +2 -1
- package/enums/MediaOption.d.ts +2 -1
- package/package.json +2 -1
- package/static/External.d.ts +2 -1
- package/static/Params.d.ts +25 -6
- package/static/WebRTCUtils.d.ts +5 -0
- package/types/MediaSettings.d.ts +4 -0
- package/types/MovieShare.d.ts +138 -9
- package/types/MuteStates.d.ts +3 -3
- package/types/ParticipantStreamDescription.d.ts +2 -1
|
@@ -217,6 +217,14 @@ export default class Conversation extends EventEmitter {
|
|
|
217
217
|
private _onRemoveParticipant;
|
|
218
218
|
changeDevice(kind: MediaDeviceKind): Promise<void>;
|
|
219
219
|
toggleScreenCapturing(screenEnabled: boolean, audioShareEnabled: boolean): Promise<void>;
|
|
220
|
+
toggleAnimojiCapturing(state: boolean): void;
|
|
221
|
+
setAnimojiSvg(
|
|
222
|
+
/** svg в незашифрованном (string) или зашифрованном (ArrayBuffer) виде */
|
|
223
|
+
svg: string | ArrayBuffer,
|
|
224
|
+
/** participantId внешнего участника звонка, не требуется для текущего участника (текущего пользователя клиента) */
|
|
225
|
+
participantId?: ParticipantId | null,
|
|
226
|
+
/** ключ расшифровки svg внешнего пользователя или кастомный ключ, не требуется для незашифрованных svg */
|
|
227
|
+
decryptionKey?: string | null): void;
|
|
220
228
|
setVideoStream(stream: MediaStream, isScreen?: boolean): Promise<void>;
|
|
221
229
|
setAudioStream(stream: MediaStream): Promise<void>;
|
|
222
230
|
toggleLocalVideo(enabled: boolean): Promise<void>;
|
|
@@ -271,11 +279,11 @@ export default class Conversation extends EventEmitter {
|
|
|
271
279
|
createJoinLink(): Promise<string>;
|
|
272
280
|
removeJoinLink(): Promise<never>;
|
|
273
281
|
addMovie({ movieId, gain, metadata }: IAddMovieParams): Promise<{
|
|
274
|
-
movieId:
|
|
282
|
+
movieId: number;
|
|
275
283
|
streamType: string;
|
|
276
284
|
}>;
|
|
277
285
|
updateMovie(params: IUpdateMovieData): Promise<void>;
|
|
278
|
-
removeMovie(movieId:
|
|
286
|
+
removeMovie(movieId: number): Promise<void>;
|
|
279
287
|
updateRooms(rooms: SignalingMessage.Room[], assignRandomly: boolean): Promise<void>;
|
|
280
288
|
activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
|
|
281
289
|
switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<void>;
|
|
@@ -334,6 +342,12 @@ export default class Conversation extends EventEmitter {
|
|
|
334
342
|
private _onOptionsChanged;
|
|
335
343
|
private _onNetworkStatus;
|
|
336
344
|
private _onRemoteStreamSecond;
|
|
345
|
+
/**
|
|
346
|
+
* Коллбек, вызывающийся при получении/остановке стрима от AnimojiReceiver
|
|
347
|
+
* @param participantId - участник, к которому относится стрим
|
|
348
|
+
* @param stream - стрим анимированного аватара, null в случае остановки стрима
|
|
349
|
+
*/
|
|
350
|
+
private _onAnimojiStream;
|
|
337
351
|
private _onPeerConnectionClosed;
|
|
338
352
|
private _changeFeatureSet;
|
|
339
353
|
private _changeNeedRate;
|
package/classes/MediaSource.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import MediaSettings from '../types/MediaSettings';
|
|
|
5
5
|
export declare const enum MediaSourceEvent {
|
|
6
6
|
SOURCE_CHANGED = "SOURCE_CHANGED",
|
|
7
7
|
TRACK_REPLACED = "TRACK_REPLACED",
|
|
8
|
-
SCREEN_STATUS = "SCREEN_STATUS"
|
|
8
|
+
SCREEN_STATUS = "SCREEN_STATUS",
|
|
9
|
+
ANIMOJI_STATUS = "ANIMOJI_STATUS"
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* Тип трека
|
|
@@ -29,12 +30,17 @@ export declare class MediaSource extends EventEmitter {
|
|
|
29
30
|
private _videoStatusOnScreenCapturingEnabled;
|
|
30
31
|
private _effect;
|
|
31
32
|
private _onDeviceChange;
|
|
33
|
+
/** MediaSource занят при переключении камеры или микрофона */
|
|
34
|
+
private _sourceBusy;
|
|
35
|
+
/** Состояние выключателя Animoji в UI */
|
|
36
|
+
private _animojiEnabled;
|
|
32
37
|
constructor();
|
|
33
38
|
request(mediaOptions?: MediaOption[], needEmptyTracks?: boolean): Promise<void>;
|
|
34
39
|
getStream(): MediaStream | null;
|
|
35
40
|
getScreenTrack(): MediaStreamTrack | null;
|
|
36
41
|
getSendVideoTrack(noDataChannel?: boolean): MediaStreamTrack | null;
|
|
37
42
|
private _getSendAudioTrack;
|
|
43
|
+
getAnimojiEnabled(): boolean;
|
|
38
44
|
addTrackToPeerConnection(pc: RTCPeerConnection, observer: boolean, noDataChannel: boolean, audioRed: boolean): void;
|
|
39
45
|
getMediaSettings(): MediaSettings;
|
|
40
46
|
changeDevice(kind: MediaDeviceKind): Promise<void>;
|
|
@@ -57,10 +63,13 @@ export declare class MediaSource extends EventEmitter {
|
|
|
57
63
|
* Может использоваться для тестирования.
|
|
58
64
|
*/
|
|
59
65
|
setAudioStream(stream: MediaStream): Promise<void>;
|
|
66
|
+
private _busy;
|
|
67
|
+
private _free;
|
|
60
68
|
private _changeAudioInput;
|
|
61
69
|
private _changeScreen;
|
|
62
70
|
private _disableScreenCapture;
|
|
63
71
|
private disableAudioShare;
|
|
72
|
+
private stopAudioShareTrack;
|
|
64
73
|
private getSilentAudioShareTrack;
|
|
65
74
|
private _replaceLocalTrack;
|
|
66
75
|
private _stopLocalTrack;
|
|
@@ -71,6 +80,9 @@ export declare class MediaSource extends EventEmitter {
|
|
|
71
80
|
toggleScreenCapturing(captureScreen: boolean, captureAudio: boolean): Promise<void>;
|
|
72
81
|
toggleVideo(enabled: boolean): Promise<void>;
|
|
73
82
|
toggleAudio(enabled: boolean): Promise<void>;
|
|
83
|
+
toggleAnimojiCapturing(enabled: boolean): void;
|
|
84
|
+
onAnimojiSender(created: boolean): void;
|
|
85
|
+
onAnimojiStream(stream?: MediaStream | null): Promise<void>;
|
|
74
86
|
setResolution(width: number, height: number): Promise<void>;
|
|
75
87
|
updateNoiseSuppression(): Promise<void>;
|
|
76
88
|
videoEffect(effect: IEffect | null): Promise<void>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AnimojiSvgData } from '@vkontakte/calls-vmoji';
|
|
1
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
3
|
import { ParticipantId } from '../../types/Participant';
|
|
3
4
|
import ServerSettings from '../../types/ServerSettings';
|
|
@@ -13,6 +14,10 @@ export default class DirectTransport extends EventEmitter {
|
|
|
13
14
|
private _remoteSDP;
|
|
14
15
|
private _remoteCandidates;
|
|
15
16
|
private _state;
|
|
17
|
+
private _animojiDataChannel;
|
|
18
|
+
private _animojiReceiver;
|
|
19
|
+
private _animojiSender;
|
|
20
|
+
private _animojiSvgDataByParticipantId;
|
|
16
21
|
private _isOpen;
|
|
17
22
|
private _remotePeerId;
|
|
18
23
|
private _statInterval;
|
|
@@ -39,6 +44,7 @@ export default class DirectTransport extends EventEmitter {
|
|
|
39
44
|
preventRestart(): void;
|
|
40
45
|
allowRestart(): void;
|
|
41
46
|
close(error?: Error): void;
|
|
47
|
+
setAnimojiSvg(participantId: ParticipantId, svgData: AnimojiSvgData): void;
|
|
42
48
|
private _setState;
|
|
43
49
|
private _onSignalingNotification;
|
|
44
50
|
private _handleTransmittedData;
|
|
@@ -58,6 +64,7 @@ export default class DirectTransport extends EventEmitter {
|
|
|
58
64
|
private _createAnswer;
|
|
59
65
|
private static _patchDescription;
|
|
60
66
|
private _onReplacedTrack;
|
|
67
|
+
private _onAnimojiStatus;
|
|
61
68
|
private _startStatInterval;
|
|
62
69
|
private _stopStatInterval;
|
|
63
70
|
private _checkBadNetwork;
|
|
@@ -65,4 +72,9 @@ export default class DirectTransport extends EventEmitter {
|
|
|
65
72
|
private _stopSettingsInterval;
|
|
66
73
|
private _calcFingerprint;
|
|
67
74
|
private _applySettings;
|
|
75
|
+
private _createDataChannel;
|
|
76
|
+
private _createAnimojiReceiver;
|
|
77
|
+
private _removeAnimojiReceiver;
|
|
78
|
+
private _createAnimojiSender;
|
|
79
|
+
private _removeAnimojiSender;
|
|
68
80
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AnimojiSvgData } from '@vkontakte/calls-vmoji';
|
|
1
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
3
|
import { ParticipantId } from '../../types/Participant';
|
|
3
4
|
import ServerSettings from '../../types/ServerSettings';
|
|
@@ -14,6 +15,10 @@ export default class ServerTransport extends EventEmitter {
|
|
|
14
15
|
private _producerScreen;
|
|
15
16
|
private _consumerScreen;
|
|
16
17
|
private _asr;
|
|
18
|
+
private _animojiDataChannel;
|
|
19
|
+
private _animojiReceiver;
|
|
20
|
+
private _animojiSender;
|
|
21
|
+
private _animojiSvgDataByParticipantId;
|
|
17
22
|
private _isOpen;
|
|
18
23
|
private _observer;
|
|
19
24
|
private _reconnectionPrevented;
|
|
@@ -36,7 +41,7 @@ export default class ServerTransport extends EventEmitter {
|
|
|
36
41
|
private _rtpReceiversByStreamId;
|
|
37
42
|
private _producerSessionId;
|
|
38
43
|
private _newAudioShareTrack;
|
|
39
|
-
constructor(signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings);
|
|
44
|
+
constructor(signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings, animojiSvgDataByParticipantId?: Record<ParticipantId, AnimojiSvgData>);
|
|
40
45
|
getState(): TransportState;
|
|
41
46
|
updateStatisticsInterval(): void;
|
|
42
47
|
open(observer?: boolean): void;
|
|
@@ -45,6 +50,7 @@ export default class ServerTransport extends EventEmitter {
|
|
|
45
50
|
preventRestart(): void;
|
|
46
51
|
allowRestart(): void;
|
|
47
52
|
updateSettings(settings: ServerSettings): void;
|
|
53
|
+
setAnimojiSvg(participantId: ParticipantId, svgData: AnimojiSvgData): void;
|
|
48
54
|
private _closeConnection;
|
|
49
55
|
private static _closeDataChannel;
|
|
50
56
|
private _createDataChannel;
|
|
@@ -60,8 +66,13 @@ export default class ServerTransport extends EventEmitter {
|
|
|
60
66
|
private _removeCaptureSender;
|
|
61
67
|
private _createCaptureReceiver;
|
|
62
68
|
private _removeCaptureReceiver;
|
|
69
|
+
private _createAnimojiSender;
|
|
70
|
+
private _removeAnimojiSender;
|
|
71
|
+
private _createAnimojiReceiver;
|
|
72
|
+
private _removeAnimojiReceiver;
|
|
63
73
|
private _applyConsumerSettings;
|
|
64
74
|
private _onScreenSharingStatus;
|
|
75
|
+
private _onAnimojiStatus;
|
|
65
76
|
private _setState;
|
|
66
77
|
private _startStatInterval;
|
|
67
78
|
private _stopStatInterval;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AnimojiSvgData } from '@vkontakte/calls-vmoji/types';
|
|
1
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
3
|
import { ParticipantId } from '../../types/Participant';
|
|
3
4
|
import ServerSettings from '../../types/ServerSettings';
|
|
@@ -17,7 +18,8 @@ export declare const enum TransportEvent {
|
|
|
17
18
|
TOPOLOGY_CHANGED = "TOPOLOGY_CHANGED",
|
|
18
19
|
NETWORK_STATUS = "NETWORK_STATUS",
|
|
19
20
|
PEER_CONNECTION_CLOSED = "PEER_CONNECTION_CLOSED",
|
|
20
|
-
ASR_TRANSCRIPTION = "ASR_TRANSCRIPTION"
|
|
21
|
+
ASR_TRANSCRIPTION = "ASR_TRANSCRIPTION",
|
|
22
|
+
ANIMOJI_STREAM = "ANIMOJI_STREAM"
|
|
21
23
|
}
|
|
22
24
|
export declare const enum TransportState {
|
|
23
25
|
IDLE = "IDLE",
|
|
@@ -45,6 +47,7 @@ export declare class Transport extends EventEmitter {
|
|
|
45
47
|
private _stListeners;
|
|
46
48
|
private _states;
|
|
47
49
|
private _localState;
|
|
50
|
+
private _animojiSvgDataByParticipantId;
|
|
48
51
|
constructor(topology: TransportTopology, signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings);
|
|
49
52
|
updateSettings(settings: ServerSettings): void;
|
|
50
53
|
updateStatisticsInterval(): void;
|
|
@@ -57,6 +60,7 @@ export declare class Transport extends EventEmitter {
|
|
|
57
60
|
allocated(): string[];
|
|
58
61
|
opened(): string[];
|
|
59
62
|
getState(): TransportState;
|
|
63
|
+
setAnimojiSvg(participantId: ParticipantId, svgData: AnimojiSvgData): void;
|
|
60
64
|
private _setStates;
|
|
61
65
|
private _setState;
|
|
62
66
|
private _setLocalState;
|
|
@@ -83,5 +87,6 @@ export declare class Transport extends EventEmitter {
|
|
|
83
87
|
private _onServerRemoteTrackAdded;
|
|
84
88
|
private _onServerRemoteTrackRemoved;
|
|
85
89
|
private _onAsrTranscription;
|
|
90
|
+
private _onAnimojiStream;
|
|
86
91
|
getStreamWaitingTimeMs(streamId: string, targetRtpTimestamp: number): number;
|
|
87
92
|
}
|
package/enums/MediaOption.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/calls-sdk",
|
|
3
|
-
"version": "2.6.3-dev.
|
|
3
|
+
"version": "2.6.3-dev.cd0dd8d.0",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Library for video calls based on the vk.com platform",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@vkontakte/calls-video-effects": "1.0.6-beta.18",
|
|
18
|
+
"@vkontakte/calls-vmoji": "1.0.4",
|
|
18
19
|
"@vkontakte/libvpx": "2.0.9",
|
|
19
20
|
"bit-buffer": "0.2.5",
|
|
20
21
|
"messagepack": "1.1.12",
|
package/static/External.d.ts
CHANGED
|
@@ -215,8 +215,9 @@ declare namespace External {
|
|
|
215
215
|
* Ошибка получения трека с камеры или микрофона
|
|
216
216
|
*
|
|
217
217
|
* @param error
|
|
218
|
+
* @param original
|
|
218
219
|
*/
|
|
219
|
-
function onPermissionsError(error: FatalError): void;
|
|
220
|
+
function onPermissionsError(error: FatalError, original: Error): void;
|
|
220
221
|
/**
|
|
221
222
|
* Пользователь отключился от звонка
|
|
222
223
|
*
|
package/static/Params.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { VideoEffects } from '@vkontakte/calls-video-effects';
|
|
2
|
+
import type * as Vmoji from '@vkontakte/calls-vmoji';
|
|
2
3
|
import { ConversationData } from '../classes/Conversation';
|
|
3
4
|
import HangupReason from '../classes/HangupReason';
|
|
4
5
|
import { MediaTrackKind } from '../classes/MediaSource';
|
|
@@ -119,6 +120,12 @@ export declare type ParamsObject = {
|
|
|
119
120
|
* _По умолчанию: `15`_
|
|
120
121
|
*/
|
|
121
122
|
screenFrameRate: number;
|
|
123
|
+
/**
|
|
124
|
+
* Вариант захвата экрана. Поддерживается в Chrome 107+
|
|
125
|
+
* @see https://developer.chrome.com/docs/web-platform/screen-sharing-controls/
|
|
126
|
+
* @hidden
|
|
127
|
+
*/
|
|
128
|
+
displaySurface: DisplayCaptureSurfaceType;
|
|
122
129
|
/**
|
|
123
130
|
* Экземпляр класса `VideoEffects` из `@vkontakte/calls-video-effects`
|
|
124
131
|
*
|
|
@@ -137,6 +144,12 @@ export declare type ParamsObject = {
|
|
|
137
144
|
* _По умолчанию: `480`_
|
|
138
145
|
*/
|
|
139
146
|
videoEffectMaxHeight: number;
|
|
147
|
+
/**
|
|
148
|
+
* Экземпляр класса `Vmoji` из `@vkontakte/calls-vmoji`
|
|
149
|
+
*
|
|
150
|
+
* Можно установить позднее методом `setVmoji`
|
|
151
|
+
*/
|
|
152
|
+
vmoji: typeof Vmoji | null;
|
|
140
153
|
iceRestartWaitTime: number;
|
|
141
154
|
transportConnectionWaitTime: number;
|
|
142
155
|
/**
|
|
@@ -305,6 +318,12 @@ export declare type ParamsObject = {
|
|
|
305
318
|
* @hidden
|
|
306
319
|
*/
|
|
307
320
|
screenShareCongestionControl: boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Включить возможность захвата звука при трансляции экрана
|
|
323
|
+
*
|
|
324
|
+
* _По умолчанию: `false`_
|
|
325
|
+
*/
|
|
326
|
+
audioShare: boolean;
|
|
308
327
|
/**
|
|
309
328
|
* Настройки api
|
|
310
329
|
*/
|
|
@@ -416,7 +435,7 @@ export declare type ParamsObject = {
|
|
|
416
435
|
/**
|
|
417
436
|
* Ошибка получения трека с камеры или микрофона
|
|
418
437
|
*/
|
|
419
|
-
onPermissionsError?: (error: FatalError) => void;
|
|
438
|
+
onPermissionsError?: (error: FatalError, original: Error) => void;
|
|
420
439
|
/**
|
|
421
440
|
* Пользователь отключился от звонка
|
|
422
441
|
*/
|
|
@@ -585,10 +604,6 @@ export declare type ParamsObject = {
|
|
|
585
604
|
* @param feedback массив с реакциями
|
|
586
605
|
*/
|
|
587
606
|
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
|
|
588
|
-
/**
|
|
589
|
-
* Включать capability c аудио шарой
|
|
590
|
-
*/
|
|
591
|
-
audioShareCapabilityEnabled: boolean;
|
|
592
607
|
/**
|
|
593
608
|
* Изменился список ролей, которым доступны ConversationFeatures
|
|
594
609
|
*
|
|
@@ -650,12 +665,16 @@ export default abstract class Params {
|
|
|
650
665
|
static get videoFrameRate(): number;
|
|
651
666
|
static get videoFacingMode(): FacingMode;
|
|
652
667
|
static get screenFrameRate(): number;
|
|
668
|
+
static get displaySurface(): DisplayCaptureSurfaceType;
|
|
653
669
|
static get videoEffects(): VideoEffects | null;
|
|
654
670
|
static set videoEffects(value: VideoEffects | null);
|
|
655
671
|
static get videoEffectMaxWidth(): number;
|
|
656
672
|
static set videoEffectMaxWidth(value: number);
|
|
657
673
|
static get videoEffectMaxHeight(): number;
|
|
658
674
|
static set videoEffectMaxHeight(value: number);
|
|
675
|
+
static get useVmoji(): boolean;
|
|
676
|
+
static get vmoji(): typeof Vmoji | null;
|
|
677
|
+
static set vmoji(value: typeof Vmoji | null);
|
|
659
678
|
static get voiceParams(): {
|
|
660
679
|
[key: string]: number;
|
|
661
680
|
};
|
|
@@ -698,7 +717,7 @@ export default abstract class Params {
|
|
|
698
717
|
static get filterObservers(): boolean;
|
|
699
718
|
static get muteMode(): boolean;
|
|
700
719
|
static get preserveAudioTracks(): boolean;
|
|
701
|
-
static get
|
|
720
|
+
static get audioShare(): boolean;
|
|
702
721
|
static get screenShareCongestionControl(): boolean;
|
|
703
722
|
static get api(): {
|
|
704
723
|
/** таймаут для батчинга на получение externalId */
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -49,7 +49,9 @@ declare class MediaConstraints {
|
|
|
49
49
|
* @hidden
|
|
50
50
|
*/
|
|
51
51
|
export declare class ScreenConstraints extends MediaConstraints {
|
|
52
|
+
readonly captureController: CaptureController | null;
|
|
52
53
|
constructor(width: number, height: number, withAudioShare: boolean);
|
|
54
|
+
getNative(): object;
|
|
53
55
|
}
|
|
54
56
|
declare namespace WebRTCUtils {
|
|
55
57
|
/**
|
|
@@ -178,6 +180,9 @@ declare namespace WebRTCUtils {
|
|
|
178
180
|
* Возвращает подверсию браузера (если она есть)
|
|
179
181
|
*/
|
|
180
182
|
function browserSubVersion(): string;
|
|
183
|
+
/**
|
|
184
|
+
* Браузер поддерживает захват звука при трансляции экрана
|
|
185
|
+
*/
|
|
181
186
|
function isAudioShareSupported(): boolean;
|
|
182
187
|
}
|
|
183
188
|
export default WebRTCUtils;
|
package/types/MediaSettings.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export declare type MediaSettings = {
|
|
|
18
18
|
* Включена ли трансляция звука
|
|
19
19
|
*/
|
|
20
20
|
isAudioSharingEnabled: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Включена ли трансляция вимоджи
|
|
23
|
+
*/
|
|
24
|
+
isAnimojiEnabled: boolean;
|
|
21
25
|
videoStreams: VideoStreamInfo[];
|
|
22
26
|
};
|
|
23
27
|
export declare type VideoStreamInfo = {
|
package/types/MovieShare.d.ts
CHANGED
|
@@ -1,18 +1,52 @@
|
|
|
1
1
|
import LiveStatus from '../enums/LiveStatus';
|
|
2
|
-
import {
|
|
2
|
+
import { CompositeUserId } from './Participant';
|
|
3
3
|
import { MediaType } from './ParticipantStreamDescription';
|
|
4
|
+
/**
|
|
5
|
+
* Preview изображения ролика
|
|
6
|
+
*/
|
|
4
7
|
export interface IMoviePreview {
|
|
8
|
+
/**
|
|
9
|
+
* Ссылка на изображение
|
|
10
|
+
*/
|
|
5
11
|
url: string;
|
|
12
|
+
/**
|
|
13
|
+
* Ширина изображения
|
|
14
|
+
*/
|
|
6
15
|
width: number;
|
|
16
|
+
/**
|
|
17
|
+
* Высота изображения
|
|
18
|
+
*/
|
|
7
19
|
height: number;
|
|
8
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* MetaData ролика
|
|
23
|
+
*/
|
|
24
|
+
export interface IMovieMetaData {
|
|
25
|
+
/**
|
|
26
|
+
* Название ролика
|
|
27
|
+
*/
|
|
28
|
+
title?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Список Preview
|
|
31
|
+
*/
|
|
32
|
+
thumbnails?: IMoviePreview[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Параметры для добавления ролика в Совместный Просмотр
|
|
36
|
+
*/
|
|
9
37
|
export interface IAddMovieParams {
|
|
10
|
-
|
|
38
|
+
/**
|
|
39
|
+
* ID Ролика
|
|
40
|
+
*/
|
|
41
|
+
movieId: number;
|
|
42
|
+
/**
|
|
43
|
+
* Начальная громкость
|
|
44
|
+
*/
|
|
11
45
|
gain?: number;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
46
|
+
/**
|
|
47
|
+
* MetaData ролика
|
|
48
|
+
*/
|
|
49
|
+
metadata?: IMovieMetaData;
|
|
16
50
|
}
|
|
17
51
|
export declare type ISharedMovieStateResponse = [
|
|
18
52
|
number,
|
|
@@ -23,38 +57,133 @@ export declare type ISharedMovieStateResponse = [
|
|
|
23
57
|
number,
|
|
24
58
|
number
|
|
25
59
|
];
|
|
60
|
+
/**
|
|
61
|
+
* Состояние проигрываемого ролика
|
|
62
|
+
*/
|
|
26
63
|
export interface ISharedMovieState {
|
|
64
|
+
/**
|
|
65
|
+
* ID Инициатора совместного просмотра
|
|
66
|
+
* @hidden
|
|
67
|
+
*/
|
|
27
68
|
participantId: CompositeUserId;
|
|
69
|
+
/**
|
|
70
|
+
* Громкость
|
|
71
|
+
*/
|
|
28
72
|
gain?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Находится ли в состоянии паузы
|
|
75
|
+
*/
|
|
29
76
|
pause?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Время прошедшее с начала ролика (сек)
|
|
79
|
+
*/
|
|
30
80
|
offset?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Находится ли в стостоянии временного мьюта звука
|
|
83
|
+
*/
|
|
31
84
|
mute?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Состояние лайва
|
|
87
|
+
* @hidden
|
|
88
|
+
*/
|
|
32
89
|
liveStatus?: LiveStatus;
|
|
90
|
+
/**
|
|
91
|
+
* Время до начала трансляции
|
|
92
|
+
* @hidden
|
|
93
|
+
*/
|
|
33
94
|
startTimeMs: number;
|
|
34
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Параментры для обновления состояния ролика
|
|
98
|
+
*/
|
|
35
99
|
export interface IUpdateMovieData {
|
|
36
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Id ролика
|
|
102
|
+
*/
|
|
103
|
+
movieId: number;
|
|
104
|
+
/**
|
|
105
|
+
* Громкость
|
|
106
|
+
*/
|
|
37
107
|
gain?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Поставить на паузу / снять с паузы
|
|
110
|
+
*/
|
|
38
111
|
pause?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Перемотать на n секунд
|
|
114
|
+
*/
|
|
39
115
|
offset?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Временно отключить звук / включить звук в предыдущее состояние
|
|
118
|
+
*/
|
|
40
119
|
mute?: boolean;
|
|
41
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Информация по добавленному ролику в Совместный просмотр
|
|
123
|
+
*/
|
|
42
124
|
export interface ISharedMovieInfo {
|
|
43
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Id ролика
|
|
127
|
+
*/
|
|
128
|
+
movieId: number;
|
|
129
|
+
/**
|
|
130
|
+
* Id инициатора совсместного просмотра
|
|
131
|
+
* @hidden
|
|
132
|
+
*/
|
|
44
133
|
initiatorId: CompositeUserId;
|
|
134
|
+
/**
|
|
135
|
+
* Название ролика
|
|
136
|
+
*/
|
|
45
137
|
title: string;
|
|
138
|
+
/**
|
|
139
|
+
* Тип ролика (на данный момент STREAM или MOVIE)
|
|
140
|
+
*/
|
|
46
141
|
source: MediaType;
|
|
142
|
+
/**
|
|
143
|
+
* Внешний Id ролика
|
|
144
|
+
*/
|
|
47
145
|
externalMovieId: string;
|
|
146
|
+
/**
|
|
147
|
+
* Продолжительность ролика в секундах
|
|
148
|
+
*/
|
|
48
149
|
duration: number;
|
|
150
|
+
/**
|
|
151
|
+
* Массив Preview
|
|
152
|
+
*/
|
|
49
153
|
thumbnails: IMoviePreview[];
|
|
50
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Информация по удоленному из Совместного Просмотра ролику
|
|
157
|
+
*/
|
|
51
158
|
export interface ISharedMovieStoppedInfo {
|
|
52
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Id ролика
|
|
161
|
+
*/
|
|
162
|
+
movieId: number;
|
|
163
|
+
/**
|
|
164
|
+
* Id инициатора совсместного просмотра
|
|
165
|
+
* @hidden
|
|
166
|
+
*/
|
|
53
167
|
initiatorId: CompositeUserId;
|
|
168
|
+
/**
|
|
169
|
+
* Тип ролика (на данный момент STREAM или MOVIE)
|
|
170
|
+
*/
|
|
54
171
|
source: MediaType;
|
|
55
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Информация по пришедшему стриму ролика в Совместном просмотре
|
|
175
|
+
*/
|
|
56
176
|
export interface IOnRemoteMovieData {
|
|
177
|
+
/**
|
|
178
|
+
* Id стрима
|
|
179
|
+
*/
|
|
57
180
|
streamName: string;
|
|
181
|
+
/**
|
|
182
|
+
* Стрим
|
|
183
|
+
*/
|
|
58
184
|
stream: MediaStream | null;
|
|
185
|
+
/**
|
|
186
|
+
* Тип ролика (на данный момент STREAM или MOVIE)
|
|
187
|
+
*/
|
|
59
188
|
mediaType: MediaType;
|
|
60
189
|
}
|
package/types/MuteStates.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface IMuteParticipantParams {
|
|
|
18
18
|
export interface IMuteParticipantInternalParams {
|
|
19
19
|
uid: OkUserId | null;
|
|
20
20
|
muteStates: MuteStates;
|
|
21
|
-
requestedMedia
|
|
22
|
-
deviceIdx
|
|
23
|
-
roomId
|
|
21
|
+
requestedMedia?: MediaOption[];
|
|
22
|
+
deviceIdx?: number;
|
|
23
|
+
roomId?: number | null;
|
|
24
24
|
}
|
|
@@ -7,7 +7,8 @@ export declare enum MediaType {
|
|
|
7
7
|
SCREEN = "SCREEN",
|
|
8
8
|
STREAM = "STREAM",
|
|
9
9
|
MOVIE = "MOVIE",
|
|
10
|
-
AUDIOSHARE = "AUDIOSHARE"
|
|
10
|
+
AUDIOSHARE = "AUDIOSHARE",
|
|
11
|
+
ANIMOJI = "ANIMOJI"
|
|
11
12
|
}
|
|
12
13
|
export declare function serializeParticipantStreamDescription(description: ParticipantStreamDescription): string;
|
|
13
14
|
export declare function parseParticipantStreamDescription(descriptionString: string): ParticipantStreamDescription;
|