Как отписать видео от всех пользователей кроме текущего пользователя и издателя
Изначально существует публичная комната, и пользователи подписываются или присоединяются к публичной комнате, а затем каждый подписчик имеет возможность "сделать ее приватной".
как только любой из подписчиков нажмет на опцию "сделать его приватным", остальная часть всех подписчиков будет отключена от браузера, но соединена с создателем комнаты или издателем.
Но на другом подписчике они не смогут показать человеку, который нажимает на него, чтобы сделать его закрытым. Потому что человек отключается от экрана другого подписчика и отображается только на экране издателя.
Таким образом, человек, который нажимает "сделать его приватным", может иметь 1-1 чат. Я имею в виду человека, который выбирает опцию "сделай это приватным", и издателя.
Но на экране Publisher должен отображаться экран всех пользователей.
function makeItPrivate() {
for (var i = 0 ; i < subscriberEvent.length; i++) {
if (session.connection.id != subscriberEvent[i].connection.connectionId) {
if (subscriberEvent[0].connection.connectionId != subscriberEvent[i].connection.connectionId) {
session.forceUnpublish(stream);
}
}
}
}
1 ответ
Вы можете либо отключить других пользователей от сеанса, либо заставить их отменить публикацию потока, но вы не можете заставить их отказаться от подписки на опубликованные потоки. Единственный способ сделать это, если один из подписчиков хочет пообщаться в частном порядке с создателем, он должен отправить сигнал всем клиентам, при получении сигнала они должны прекратить подписку, а также публикацию в сеансе, пока они еще связано.
Если предположим, что есть 3 пользователя, User1 является создателем, User2 и User3 являются подписчиками. Если пользователь 2 хочет приватный чат, он должен отправить сигнал всем клиентам. Вы можете увидеть, как сигналы отправляются отсюда. Затем, получив сигнал, пользователь 3 отменит подписку и отменит публикацию в сеансе.