房间"/>
“未捕获的参考错误:尝试与Twilio Video room断开连接时未定义房间
我正在使用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
。
我似乎误解了如何使用API终止房间的基本知识。
回答如下:好像您无权访问room
函数中的disconnectFromRoom
变量。尝试保留在某个全局变量(例如window.room
)中创建的所有房间,然后在disconnectFromRoom
函数中从窗口访问该房间。
也请查看此example。
更多推荐
“未捕获的参考错误:尝试与Twilio Video room断开连接时未定义房间
发布评论