Управление встречей
Управление встречей с помощью SaluteJazz SDK основано на ролевой модели. Каждой роли соответствует отдельный набор прав доступа.
Полный список поддерживаемых прав доступа:
canEditOwnName
— изменение имени;canEditRoomPolicy
— изменение настроек комнаты;canEditRoomTitle
— изменение названия комнаты;canFinishCall
— действие «завершить для всех»;canGrantPermission
— назначение прав доступа участникам;canKickUser
— исключение участника;canManageLobby
— управление лобби;canMuteUser
— возможность выключать микрофон и камеру у участников;canRequestPermission
— запрос прав доступа у администратора;canSendReaction
— отправка сообщения в чат;canShareAudio
— включение микрофона;canShareCamera
— включение камеры;canShareMedia
— включение демонстрации экрана.
Проверка права пользователя
Для проверки прав пользователя вызовите метод:
jazzRoom.userPermissions.get();
Подписка на обновления:
const unsubscribe = handleQuery(jazzRoom.userPermissions, (userPermissions) => {
console.log(userPermissions);
});
Исключение участников
Для исключения участника пользователь должен обладать правом canKickUser
.
Для исключения используйте метод:
jazzRoom.moderator.kickUsers(participant.id);
Метод позволяет исключить любого участника, кроме локального.
Для исключения нескольких участников используйте метод:
jazzRoom.moderator.kickUsers(participants.map((participant) => participant.id));
Метод позволяет исключить нескольких участников, кроме локального.
Для исключения всех участников, кроме локального, используйте метод:
jazzRoom.moderator.kickUsersAll();
Включение и отключение звука или видео у участника
Для включения и отключения звука или видео у участника пользователь должен обладать правом canKickUser
.
Для включения и отключения звука или видео у одного участника используйте метод:
jazzRoom.moderator.muteUsers(participant.id, 'audio' | 'video');
Метод работает для любых участников, кроме локального.
Для включения и отключения звука или видео у нескольких участников используйте метод:
jazzRoom.moderator.kickUsers(
participants.map((participant) => participant.id),
'audio' | 'video',
);
Метод работает для любых участников, кроме локального.
Для включения и отключения звука или видео у всех участников, кроме локального:
jazzRoom.moderator.kickUsersAll('audio' | 'video');
События комнаты
Событие | Описание |
---|---|
accessByPermission | Отсутствует доступ к комнате у незарегистрированных участников |
addTrack | Добавление трека к комнате |
connected | Завершение подключения к комнате |
connecting | Началп подключения к комнате |
connectionChanged | Обновление информации о статусе соединения с комнатой |
connectionConnecting | Начало соединения к комнате |
connectionDisconnected | Завершение разъединения с комнатой |
connectionFailed | Ошибка соединения с комнатой |
connectionInterrupted | Прерывание соединения с комнатой |
connectionOpen | Успешное соединение с комнатой |
destroy | Завершение всех процессов комнаты и удаление комнаты из списка |
disconnected | Завершение отключения от комнаты |
disconnecting | Начало отключения от комнаты |
dominantSpeakerChanged | Обновление состояния доминантного участника |
error | Возникновение ошибки |
kicked | Исключение участника из комнаты |
localParticipantChanged | Обновление состояния локального участника |
localTrackUpdated | Обновление состояния трека локального участника |
paramsChanged | Обновление состояния информации о комнате |
participantJoined | Подключение нового участника |
participantLeft | Отключение участника |
participantUpdate | Обновление состояния участника |
participants | Подключение к комнате списка участников |
permissionDenied | Отказ на запрос о предоставлении прав доступа |
permissionGranted | Удовлетворение запроса на предоставление прав доступа |
permissionRequested | Отправка запроса на получение прав доступа |
removeTrack | Удаление трека из комнаты |
rolePermissionsChanged | Обновление состояния прав доступа у ролевой модели локального участника |
settingsChanged | Обновление состояния настроек комнаты |
statusChanged | Обновление состояния статуса комнаты |
trackMuteChangeRejected | Ошибка обновления состояния mute (без звука) для трека |
trackMuteChanged | Обновление состояния mute (без звука) для трека |
Жизненный цикл комнаты
Начало работы с комнатой
При начале работы с комнатой после вызова функции join
события приходят в последовательности:
Завершение работы с комнатой
При завершении работы с комнатой после вызова функции leave
события приходят в последовательности: