@livedigital/client 3.57.0-lk-5354-api-reference.1 → 3.57.0-lk-5354-api-reference.2
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/Client.d.ts
CHANGED
|
@@ -46,31 +46,61 @@ declare class Client {
|
|
|
46
46
|
private readonly clientEventEmitter;
|
|
47
47
|
readonly canUseNoiseSuppression = true;
|
|
48
48
|
constructor(params: ClientParams);
|
|
49
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Метаданные текущей сессии, полезные для аналитики, логирования и диагностики.
|
|
51
|
+
* @group Метаданные
|
|
52
|
+
*/
|
|
50
53
|
get meta(): ClientMetaPayload;
|
|
51
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Набор пользовательских событий SDK, на которые приложение может подписываться.
|
|
56
|
+
* @group События
|
|
57
|
+
*/
|
|
52
58
|
get observer(): EnhancedEventEmitter<ClientObserverEvents>;
|
|
53
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Идентификатор текущего участника после успешного подключения к каналу.
|
|
61
|
+
* @group Подключение
|
|
62
|
+
*/
|
|
54
63
|
get id(): string | undefined;
|
|
55
64
|
/**
|
|
56
65
|
* Список участников, известных клиенту в текущем канале.
|
|
57
66
|
*
|
|
58
67
|
* @remarks Список актуален только после получения события `channel-state-synced`.
|
|
59
68
|
* До этого момента массив может быть неполным или пустым.
|
|
69
|
+
* @group Подключение
|
|
60
70
|
*/
|
|
61
71
|
get peers(): Peer[];
|
|
62
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Список видеоустройств, обнаруженных после последнего вызова `detectDevices()`.
|
|
74
|
+
* @group Устройства
|
|
75
|
+
*/
|
|
63
76
|
get availableVideoDevices(): MediaDeviceInfo[];
|
|
64
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Список аудиоустройств, обнаруженных после последнего вызова `detectDevices()`.
|
|
79
|
+
* @group Устройства
|
|
80
|
+
*/
|
|
65
81
|
get availableAudioDevices(): MediaDeviceInfo[];
|
|
66
|
-
/**
|
|
82
|
+
/**
|
|
83
|
+
* Показывает, был ли успешно подготовлен движок видеоэффектов.
|
|
84
|
+
* @group Медиа
|
|
85
|
+
*/
|
|
67
86
|
get effectsSDKInitialized(): boolean;
|
|
68
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Экземпляр калькулятора качества, который можно использовать в собственных метриках UI.
|
|
89
|
+
* @group Диагностика
|
|
90
|
+
*/
|
|
69
91
|
get scoresCalculator(): ScoresCalculator;
|
|
70
92
|
/**
|
|
71
93
|
* Обнаруживает доступные устройства ввода и обновляет внутренний список камер и микрофонов.
|
|
72
94
|
*
|
|
73
95
|
* @param force Принудительно запрашивает повторное определение устройств, даже если список уже известен.
|
|
96
|
+
* @group Устройства
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* const { video, audio } = await client.detectDevices();
|
|
100
|
+
* // video и audio — массивы MediaDeviceInfo
|
|
101
|
+
* const camera = video[0];
|
|
102
|
+
* const mic = audio.find(d => d.label.includes('встроенный'));
|
|
103
|
+
* ```
|
|
74
104
|
*/
|
|
75
105
|
detectDevices(force?: boolean): Promise<AvailableMediaDevices>;
|
|
76
106
|
/**
|
|
@@ -78,6 +108,7 @@ declare class Client {
|
|
|
78
108
|
*
|
|
79
109
|
* Полезно вызывать заранее, если приложение хочет уменьшить задержку перед
|
|
80
110
|
* первым включением background blur или виртуального фона.
|
|
111
|
+
* @group Медиа
|
|
81
112
|
*/
|
|
82
113
|
initEffectsSDK(): Promise<boolean>;
|
|
83
114
|
/**
|
|
@@ -86,12 +117,24 @@ declare class Client {
|
|
|
86
117
|
* Канал и роль участника определяются сервером на основе переданного `token`.
|
|
87
118
|
* После успешного завершения необходимо вызвать `requestChannelStateSync()`,
|
|
88
119
|
* чтобы получить актуальное состояние канала через событие `channel-state-synced`.
|
|
120
|
+
* @group Подключение
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* client.observer.on('channel-state-synced', () => {
|
|
124
|
+
* // Только здесь client.peers содержит актуальный список участников
|
|
125
|
+
* console.log('Участников в канале:', client.peers.length);
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* await client.join({ token: signalingToken });
|
|
129
|
+
* client.requestChannelStateSync(); // обязательно после join
|
|
130
|
+
* ```
|
|
89
131
|
*/
|
|
90
132
|
join(params: JoinChannelParams): Promise<void>;
|
|
91
133
|
/**
|
|
92
134
|
* Выходит из канала.
|
|
93
135
|
*
|
|
94
136
|
* @param keepTracks Если `true`, локальные треки не будут автоматически уничтожены после выхода.
|
|
137
|
+
* @group Подключение
|
|
95
138
|
*/
|
|
96
139
|
leave(keepTracks?: boolean): Promise<void>;
|
|
97
140
|
/**
|
|
@@ -102,22 +145,59 @@ declare class Client {
|
|
|
102
145
|
* получат `channel-activity-confirmation-acquired`.
|
|
103
146
|
* Если никто не ответит — канал закрывается целиком и все участники получают
|
|
104
147
|
* `channel-activity-confirmation-expired`.
|
|
148
|
+
* @group Подключение
|
|
105
149
|
*/
|
|
106
150
|
confirmActivity(): Promise<void>;
|
|
107
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* Создаёт локальный видеотрек с камеры, готовый к публикации в канале.
|
|
153
|
+
* @group Медиа
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* const track = await client.createCameraVideoTrack({ deviceId: camera.deviceId });
|
|
157
|
+
* await track.publish();
|
|
158
|
+
*
|
|
159
|
+
* // Включить background blur после публикации
|
|
160
|
+
* await track.enableEffects();
|
|
161
|
+
* await track.applyEffects({ blur: 0.7 });
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
108
164
|
createCameraVideoTrack(options?: CreateCameraVideoTrackOptions): Promise<VideoTrack>;
|
|
109
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* Создаёт локальный аудиотрек с микрофона, при необходимости сразу с шумоподавлением.
|
|
167
|
+
* @group Медиа
|
|
168
|
+
* @example
|
|
169
|
+
* ```ts
|
|
170
|
+
* const track = await client.createMicrophoneAudioTrack({
|
|
171
|
+
* deviceId: mic.deviceId,
|
|
172
|
+
* noiseSuppression: true, // включить шумоподавление сразу
|
|
173
|
+
* });
|
|
174
|
+
* await track.publish();
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
110
177
|
createMicrophoneAudioTrack(options?: CreateMicrophoneAudioTrackOptions): Promise<AudioTrack>;
|
|
111
|
-
/**
|
|
178
|
+
/**
|
|
179
|
+
* Создаёт набор треков для демонстрации экрана и, при наличии, системного аудио.
|
|
180
|
+
* @group Медиа
|
|
181
|
+
*/
|
|
112
182
|
createScreenMediaTracks(options?: CreateScreenMediaOptions): Promise<Track[]>;
|
|
113
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* Регистрирует в SDK уже созданный приложением аудиотрек, чтобы им можно было управлять и публиковать его.
|
|
185
|
+
* @group Медиа
|
|
186
|
+
*/
|
|
114
187
|
createCustomAudioTrack(options: CreateCustomAudioOptions): Track;
|
|
115
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Регистрирует в SDK уже созданный приложением видеотрек, чтобы им можно было управлять и публиковать его.
|
|
190
|
+
* @group Медиа
|
|
191
|
+
*/
|
|
116
192
|
createCustomVideoTrack(options: CreateCustomVideoOptions): Track;
|
|
117
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Удаляет локальный трек из жизненного цикла SDK и освобождает связанные ресурсы.
|
|
195
|
+
* @group Медиа
|
|
196
|
+
*/
|
|
118
197
|
deleteTrack(track: Track): Promise<void>;
|
|
119
198
|
/**
|
|
120
199
|
* @deprecated Используйте `requestChannelStateSync()` вместо этого метода.
|
|
200
|
+
* @group Подключение
|
|
121
201
|
* `loadPeers` не является потокобезопасным и допускает состояние гонки между
|
|
122
202
|
* двумя последовательными вызовами. `requestChannelStateSync()` гарантирует
|
|
123
203
|
* атомарное получение состояния канала через событие `channel-state-synced`.
|
|
@@ -129,31 +209,62 @@ declare class Client {
|
|
|
129
209
|
* Должен быть вызван сразу после `join()`. Когда синхронизация завершится,
|
|
130
210
|
* придёт событие `channel-state-synced` — только после него `client.peers`
|
|
131
211
|
* содержит актуальный список участников и их медиапотоков.
|
|
212
|
+
* @group Подключение
|
|
132
213
|
*/
|
|
133
214
|
requestChannelStateSync(): void;
|
|
134
|
-
/**
|
|
135
|
-
*
|
|
215
|
+
/**
|
|
216
|
+
* Обновляет пользовательские `appData` текущего участника, чтобы другие клиенты получили новый payload.
|
|
217
|
+
* Максимальный размер `appData` — 1 KB. Заменяет объект целиком, не мерджит с предыдущим.
|
|
218
|
+
* @group Метаданные
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* await client.updateAppData({ role: 'presenter', handRaised: true });
|
|
222
|
+
* // Другие участники получат это через peer.appData
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
136
225
|
updateAppData(appData: Record<string, unknown>): Promise<void>;
|
|
137
|
-
/**
|
|
226
|
+
/**
|
|
227
|
+
* Возвращает текущее состояние receive/send transport'ов для отладки сетевых проблем.
|
|
228
|
+
* @group Диагностика
|
|
229
|
+
*/
|
|
138
230
|
getTransportsInfo(): Promise<TransportsStateInfo>;
|
|
139
|
-
/**
|
|
231
|
+
/**
|
|
232
|
+
* Включает или отключает предпочтение relay-маршрутов для WebRTC-транспортов.
|
|
233
|
+
* @group Диагностика
|
|
234
|
+
*/
|
|
140
235
|
setPreferRelay(value: boolean): void;
|
|
141
|
-
/**
|
|
236
|
+
/**
|
|
237
|
+
* Показывает, включено ли сейчас предпочтение relay-маршрутов.
|
|
238
|
+
* @group Диагностика
|
|
239
|
+
*/
|
|
142
240
|
getPreferRelay(): boolean;
|
|
143
241
|
/**
|
|
144
242
|
* Меняет ICE transport policy для активных транспортов клиента.
|
|
145
243
|
*
|
|
146
244
|
* Это полезно для диагностики сетевых сценариев, например когда нужно
|
|
147
245
|
* принудительно использовать relay-соединение.
|
|
246
|
+
* @group Диагностика
|
|
148
247
|
*/
|
|
149
248
|
changeIceTransportPolicy(policy: IceTransportPolicy): Promise<void>;
|
|
150
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* Принудительно перезапускает ICE на активных транспортных соединениях клиента.
|
|
251
|
+
* @group Диагностика
|
|
252
|
+
*/
|
|
151
253
|
restartIce(): Promise<void>;
|
|
152
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* Возвращает агрегированную транспортную статистику WebRTC для мониторинга качества соединения.
|
|
256
|
+
* @group Диагностика
|
|
257
|
+
*/
|
|
153
258
|
transportsStats(): TransportsWebRTCStats | undefined;
|
|
154
|
-
/**
|
|
259
|
+
/**
|
|
260
|
+
* Переопределяет адрес signaling-сервера для последующих подключений или переподключения.
|
|
261
|
+
* @group Диагностика
|
|
262
|
+
*/
|
|
155
263
|
setSignalingServerUrl(url: string): void;
|
|
156
|
-
/**
|
|
264
|
+
/**
|
|
265
|
+
* Добавляет пользовательские метаданные, которые будут включаться в diagnostics и аналитику SDK.
|
|
266
|
+
* @group Метаданные
|
|
267
|
+
*/
|
|
157
268
|
setMeta(meta: Record<string, unknown>): void;
|
|
158
269
|
}
|
|
159
270
|
export default Client;
|
|
@@ -47,7 +47,7 @@ declare class DefaultBaseTrack implements BaseTrack {
|
|
|
47
47
|
setPriority(priority: RTCPriorityType): Promise<void>;
|
|
48
48
|
stopMediaStreamTrack(): void;
|
|
49
49
|
protected stopOriginalTrack(): void;
|
|
50
|
-
produce({ encodings, codecOptions, preferredCodec, transformParams, keyFrameRequestDelay, }: TrackProduceParams): Promise<void>;
|
|
50
|
+
protected produce({ encodings, codecOptions, preferredCodec, transformParams, keyFrameRequestDelay, }: TrackProduceParams): Promise<void>;
|
|
51
51
|
publish(): Promise<void>;
|
|
52
52
|
unpublish(stopTrack?: boolean): Promise<void>;
|
|
53
53
|
private pauseRemoteProducer;
|