我正在使用 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
当我使用 onclick
触发此功能时,在 Chrome 控制台中事件。 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
.我似乎误解了如何使用 API 终止房间的基本知识。
最佳答案
您似乎无权访问 room
disconnectFromRoom
中的变量功能。尝试保存在某个全局变量中创建的所有房间,例如 window.room
然后从 disconnectFromRoom
中的窗口进入房间功能。
请看这个example也。
关于javascript - "Uncaught ReferenceError: room is not defined"尝试从 Twilio 视频室断开连接时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61075401/