最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

“未捕获的参考错误:尝试与Twilio Video room断开连接时未定义房间

网站源码admin22浏览0评论

“未捕获的参考错误:尝试与Twilio Video room断开连接时未定义房间

“未捕获的参考错误:尝试与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。

发布评论

评论列表(0)

  1. 暂无评论