TokBox 会话被破坏
TokBox sessions getting destroyed
我正在尝试让客户端发布一个 A/V 流,将其关闭,然后重新打开。我第一次告诉他们发布然后取消发布时,效果很好。但是,下次我告诉他们发布(使用相同的会话 ID 和令牌)时,我收到错误 "Cannot Connect, the session is already undefined"。
为什么 "session" 被销毁了?..是取消发布吗?我的代码大部分取自教程:
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);
有两种方法可以做到这一点。您可以一次初始化单个发布者对象,并在每次重新发布时继续重复使用它。或者您可以每次都销毁并重新初始化一个新的发布者。我已经为您编写了两种方法的示例:
- 重复使用同一发布者:https://jsbin.com/tobabos/edit?html
- 每次创建新发布者:https://jsbin.com/jawuxez/edit?html
注意:请提供您自己的API密钥、会话ID和令牌到运行上述JSbins
主要区别在于,要重用发布者,您需要执行以下操作:
pub.on('streamDestroyed', e => e.preventDefault());
此处记录:https://tokbox.com/developer/sdks/js/reference/Publisher.html#.event:streamDestroyed
它确保在您取消发布时,发布者对象不会被销毁,因此可以重复使用。
如果您重复使用发布者,也会发生这种情况,发布者会保留在页面上,用户仍然可以看到自己。即使发布者没有流式传输到会话。您可以使用 CSS 或 DOM 操作来隐藏发布者,但网络摄像头灯将保持亮起。
但是,如果您每次都销毁并重新创建发布者,则发布者会从页面上消失并且网络摄像头灯会在未发布时熄灭。根据浏览器和用户的设置,他们可能会被要求再次允许访问他们的网络摄像头。
我正在尝试让客户端发布一个 A/V 流,将其关闭,然后重新打开。我第一次告诉他们发布然后取消发布时,效果很好。但是,下次我告诉他们发布(使用相同的会话 ID 和令牌)时,我收到错误 "Cannot Connect, the session is already undefined"。
为什么 "session" 被销毁了?..是取消发布吗?我的代码大部分取自教程:
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);
有两种方法可以做到这一点。您可以一次初始化单个发布者对象,并在每次重新发布时继续重复使用它。或者您可以每次都销毁并重新初始化一个新的发布者。我已经为您编写了两种方法的示例:
- 重复使用同一发布者:https://jsbin.com/tobabos/edit?html
- 每次创建新发布者:https://jsbin.com/jawuxez/edit?html
注意:请提供您自己的API密钥、会话ID和令牌到运行上述JSbins
主要区别在于,要重用发布者,您需要执行以下操作:
pub.on('streamDestroyed', e => e.preventDefault());
此处记录:https://tokbox.com/developer/sdks/js/reference/Publisher.html#.event:streamDestroyed
它确保在您取消发布时,发布者对象不会被销毁,因此可以重复使用。
如果您重复使用发布者,也会发生这种情况,发布者会保留在页面上,用户仍然可以看到自己。即使发布者没有流式传输到会话。您可以使用 CSS 或 DOM 操作来隐藏发布者,但网络摄像头灯将保持亮起。
但是,如果您每次都销毁并重新创建发布者,则发布者会从页面上消失并且网络摄像头灯会在未发布时熄灭。根据浏览器和用户的设置,他们可能会被要求再次允许访问他们的网络摄像头。