Я использую Twilio Video Javascript API для потоковой передачи и записи видеоконтента из браузера. Приложение встроено в Nodejs/Express
, и я загружаю Twilio API
по ссылке CDN
на странице. Пока я могу успешно создать экземпляр комнаты и записать видео на сервер со следующим кодом:
function createAndConnectToRoom(roomName) {
Twilio.Video.connect(Token, { name: roomName }).then(room => {
console.log(`Successfully joined a Room: ${room}`);
room.on('participantConnected', participant => {
console.log(`A remote Participant connected: ${participant}`);
});
}, error => {
console.error(`Unable to connect to Room: ${error.message}`);
});
displayLocalVideo();
}
Моя проблема в том, что я не могу отключиться от сервера. В идеале, я хотел бы иметь большую кнопку, которая отключает пользователя и завершает комнату. В документах Twilio они советуют использовать следующий код (внешняя функция моя, внутренний код Twilio
). Однако я получаю Uncaught ReferenceError: the room is not defined
в консоли Chrome, когда запускаю эту функцию с событием onclick
.
function disconnectFromRoom() {
room.on('disconnected', room => {
// Detach the local media elements
room.localParticipant.tracks.forEach(publication => {
const attachedElements = publication.track.detach();
attachedElements.forEach(element => element.remove());
});
});
// To disconnect from a Room
room.disconnect();
}
Я также пытался сохранить "комнату" в глобальной переменной при ее создании и затем передать эту переменную в функцию отключения. Но даже тогда я не могу назвать room.on
.
Я, кажется, неправильно понимаю что-то, основанное c на том, как использовать API для завершения комнаты.