Еще в марте SignalWire объявила о выпуске Программируемой видеосвязи (PVC). Эта функция позволяет быстро создавать и встраивать видеоконференции в HTML. Это означает, что вы можете добавить видеочат прямо на страницу продукта, на веб-сайт поддержки, в приложение Wordpress и т. д.
Что, если вы хотите сделать больше? Этот пост покажет вам, что вы можете делать с программируемой частью этой новой функции, включая размытие или замену фона и отслеживание того, как долго говорит каждый участник. Все примеры доступны на GitHub и готовы к работе, просто добавьте токен комнаты.
Во-первых, освежение в использовании ПВХ.
В этом руководстве предполагается, что у вас есть учетная запись SignalWire и вы создали пространство SignalWire.
Создание комнаты
Войдя в SignalWire Space, перейдите на страницу Видео из бокового меню. Перейдите на вкладку Конференции, а затем нажмите +Создать, чтобы создать новую видеокомнату.
Назовите свою новую комнату и выберите пользовательский интерфейс. Затем нажмите Далее.
Теперь ваша комната создана, и вам предоставляется несколько способов настроить и встроить свою комнату или получить токен комнаты для использования в пользовательском коде!
Вы можете изменить различные свойства комнаты в соответствии с вашими потребностями. Например, разрешение и макет по умолчанию.
Вы даже можете изменить внешний вид, не изменяя CSS!
Подписка на события Room с помощью vanilla Javascript
Базовый код внедрения, предоставляемый PVC, поддерживает модификацию для подписки на ряд событий.
- layout.changed
- член.обновлено
- член.присоединился
- член.левый
- член.говорящий
- room.joined
- номер.обновлено
Давайте взглянем на типичный Код встраивания модератора, который вы можете найти на предыдущей странице для вновь созданной видеокомнаты.
Этот код для встраивания можно поместить в любое HTML-приложение, и он мгновенно добавит полнофункциональную видеоконференцию. Но как мы подписываемся на эти события?
Легко, просто добавьте обработчик событий вот так.
Свойство username является необязательным, как и свойство setupRoomSession. Свойству setupRoomSession можно передать функцию, которая возвращает roomSession, и этот roomSession можно использовать для подписки на перечисленные выше события.
В следующих разделах мы рассмотрим несколько примеров проектов, которые помогут вам перейти на новый уровень!
Пример стандартных событий
Мы собрали Репозиторий GitHub с несколькими примерами проектов PVC. В нем есть базовый образец, в котором есть простая форма, предлагающая ввести имя пользователя, прежде чем он отобразит видеозал и подпишется на все события. Затем все события отображаются в элементе HTML. Мы создали это, чтобы помочь вам поэкспериментировать с ПВХ и увидеть, что вы можете построить!
Чтобы сделать это еще проще, все, что вам нужно для начала, это открыть эту ссылку CodeSandbox и вставить свой токен модератора или гостя со страницы видеокомнаты.
После сохранения файла используйте встроенный браузер в редакторе CodeSandbox или откройте страницу в другой вкладке. Введите имя пользователя и нажмите Присоединиться к комнате. Пока вы говорите, вы увидите событие выхода из системы member.talking.
Расчет времени разговора
Как и в предыдущем примере, все, что вам нужно сделать, чтобы запустить этот пример, — это открыть ссылку CodeSandbox и вставить токен комнаты.
Мы рекомендуем самостоятельно изучить код в CodeSandbox или в Репозитории GitHub, чтобы лучше понять, как мы отслеживаем участников и время, которое они тратят на общение. Мы используем события участников, чтобы узнать, кто присоединился или вышел, а затем используем это, чтобы отслеживать, кто говорит по имени пользователя и как долго.
Размыть или заменить фон
В GitHub Repository есть два примера использования Google Mediapipe в Javascript для замены фона на любое изображение или для размытия фона. Кнопка Начать начнет изменять трансляцию с камеры, но она не будет отправлена в комнату SignalWire, пока вы не нажмете Потоковая передача.
Это отличный пример того, что вы можете сделать в браузере, используя программируемую видеосвязь SignalWire.
Ссылки на CodeSandbox
Вау! Это потрясающе!
Я точно знаю?!
Эти примеры показывают, насколько эффективными могут быть возможности настройки, переносимости и программируемых функций для видеоконференций. Благодаря множеству ресурсов с открытым исходным кодом в сообществе HTML и Javascript существует столько же возможностей для изучения того, что возможно, когда видеоконференции становятся еще одним кирпичиком LEGO для работы.
Я надеюсь, что вы вдохновились на дальнейшее развитие этих примеров и создание чего-то действительно удивительного.
Здесь, в SignalWire, мы любим наше сообщество разработчиков! Найдите нас в SignalWire Twitter и обязательно присоединитесь к нашему Slack сообщества SignalWire. Мы всегда рады помочь ответить на вопросы и с нетерпением ждем возможности пообщаться с вами!