Для того чтобы приходили видео стримы от собеседников,
нужно отправлять специальную команду updateDisplayLayout
.
В противном случае видео от других участников звонка может не приходить вообще.
Команда updateDisplayLayout
указывает, от каких собеседников нужно получать видео
и в каких размерах. Также, она позволяет остановить видео от собеседника.
Некоторые примеры использования:
SDK.init({
// ...
onRemoteMediaSettings: (userId, mediaSettings) => {
if (mediaSettings.isVideoEnabled || mediaSettings.isScreenSharingEnabled) {
// Запрашиваем видео от участника, когда он включает камеру или трансляцию экрана
SDK.updateDisplayLayout([{
uid: userId,
mediaType: mediaSettings.isVideoEnabled ? MediaType.CAMERA : MediaType.SCREEN,
width: 1920,
height: 1080,
}]);
} else if (!mediaSettings.isVideoEnabled && !mediaSettings.isScreenSharingEnabled) {
// Выключаем видео от собеседника (необязательно)
SDK.updateDisplayLayout([{
uid: userId,
stopStream: true,
}]);
}
},
onConversation: (userId, mediaModifiers, muteStates, participants) => {
// Запрашиваем видео на старте звонка
const layouts = participants
.filter(({mediaSettings}) =>
mediaSettings.isVideoEnabled || mediaSettings.isScreenSharingEnabled)
.map(({uid, mediaSettings}) => ({
uid,
mediaType: mediaSettings.isVideoEnabled ? MediaType.CAMERA : MediaType.SCREEN,
width: 1920,
height: 1080,
}));
SDK.updateDisplayLayout(layouts);
},
});