Управление встречей
Управление встречей с помощью 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 события приходят в последовательности: