Session TokBox会话被破坏
我正在尝试让客户端发布a/V流,关闭它们,然后再打开它们。我第一次告诉他们发布然后取消发布,效果很好。但是,下一次我告诉他们发布(使用相同的会话ID和令牌)时,我会得到错误“无法连接,会话已经未定义” 为什么“会话”会被破坏?。。是非公开的吗?我的代码基本上取自教程:Session TokBox会话被破坏,session,opentok,tokbox,Session,Opentok,Tokbox,我正在尝试让客户端发布a/V流,关闭它们,然后再打开它们。我第一次告诉他们发布然后取消发布,效果很好。但是,下一次我告诉他们发布(使用相同的会话ID和令牌)时,我会得到错误“无法连接,会话已经未定义” 为什么“会话”会被破坏?。。是非公开的吗?我的代码基本上取自教程: clientSession = OT.initSession(apiKey, sessionId); clientSession.connect(token, function (error) {
clientSession = OT.initSession(apiKey, sessionId);
clientSession.connect(token, function (error) {
if (error) {
handleError(error);
} else {
clientPublisher = OT.initPublisher(container, {
insertMode: 'append',
width: '100%',
height: '100%'
}, handleError);
}
});
}
要取消发布:
clientSession.unpublish(clientPublisher);
有两种方法可以做到这一点。您可以初始化一个发布者对象一次,并在每次重新发布时继续重用它。或者,您可以每次继续销毁并重新初始化新的发布服务器。我已经为您编写了两种方法的示例:
pub.on('streamDestroyed', e => e.preventDefault());
这里记录了这一点:
它确保在取消发布时,不会销毁发布者对象,以便可以重用它
如果重用发布服务器,则发布服务器仍保留在页面上,用户仍然可以看到自己。即使发布服务器没有流式传输到会话。您可以使用CSS或DOM操作隐藏发布者,但网络摄像头指示灯将保持亮起
但是,如果每次都销毁并重新创建发布服务器,则该发布服务器将从页面中消失,并且在取消发布时网络摄像头指示灯将关闭。根据浏览器和用户的设置,可能会要求他们再次允许访问其网络摄像头