ym88659208ym87991671
Работа с потоками медиаданных | Документация для разработчиков

Работа с потоками медиаданных

Обновлено 8 ноября 2023

Раздел содержит примеры работы с потоками медиаданных (MediaStream) внутри конференций.

Подробнее о работе с медиаданными читайте в разделе Работа с источниками медиаданных

Подключение и отключение потоков медиаданных к комнате

Пример подключения:

await room.setUserAudioInput(audioInputMediaStream);

await room.setUserVideoInput(videoInputMediaStream);

await room.setDisplayVideoInput(displayVideoInputMediaStream);

Пример отключения:

await room.setUserAudioInput();

await room.setUserVideoInput();

await room.setDisplayVideoInput();

Отключение и включение медиапотока локального пользователя

Отключение медиапотока (mute):

await room.muteAudioInput(true);

await room.muteVideoInput(true);

await room.muteDisplayVideoInput(true);

Включение медиапотока:

await room.muteAudioInput(false);

await room.muteVideoInput(false);

await room.muteDisplayVideoInput(false);

Видео участников

Вы получите видеопоток участника только после подключения созданного потока к конференции и только если участник решил поделиться видео.

Чтобы понять, есть ли видео от участника, подпишитесь на события добавления видеопотоков. После этого выполняйте запросы получения видео с заданными параметрами:

import { handleEvent, USER_MEDIA_TYPE } from '@salutejs/jazz-sdk-web';

const unsubscribe = handleEvent(room.event$, 'addTrack', ({ payload }) => {
if (payload.mediaType === USER_MEDIA_TYPE.VIDEO) {
// Видеопоток всегда имеет принадлежность к участнику
payload.participantId;

// Полученный MediaStream можно использовать для отображения видео
payload.stream;
}
});

unsubscribe();

Вы можете получить видеопоток определенного участника:

const mediaStream = room.getVideoStream(payload.participantId, {
source: 'user',
});

Плагин videoElementPoolPlugin упрощает работу с видео в SberJazz SDK для Web.

Аудио участников

Вы получите аудиопоток участника только после подключения созданного потока к конференции и только если участник решил поделиться видео.

Чтобы понять, есть ли аудио от участника, подпишитесь на события добавления аудиопотоков. После этого выполняйте запросы получения аудио с заданными параметрами:

import { handleEvent, USER_MEDIA_TYPE } from '@salutejs/jazz-sdk-web';

const unsubscribe = handleEvent(room.event$, 'addTrack', ({ payload }) => {
if (payload.mediaType === USER_MEDIA_TYPE.AUDIO) {
// Трек всегда имеет принадлежность к участнику
payload.participantId;

// Полученный MediaStream можно использовать для воспроизведения звука на странице
payload.stream;
}
});

unsubscribe();

Плагин audioOutputMixerPlugin упрощает работу с аудио в SberJazz SDK для Web.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.