【发布时间】:2021-01-17 21:58:48
【问题描述】:
我目前正在使用Kandy WebRTC library 进行基于 WebRTC 的音频通话。由于这个 JavaScript 库在内部使用 WebSocket,所以我面临的问题是如果用户刷新页面,会话保持活动状态。
例如,当用户 A 通过 Kandy 库连接并呼叫用户 B 时,如果用户刷新页面,则用户 A 的连接丢失,但用户 B 仍在通话中,因为它没有正确结束作者:用户 A。障碍是 Kandy 库不提供重新连接正在进行的呼叫的方法。
因此,我想知道我们可以在客户端做些什么来管理这个刷新页面问题。我想到的一种方法是将 JavaScript 客户端 + Kandy 逻辑转移到 Node.js 服务器并使用 HTTP 服务访问拨打电话和接听电话。但是我真的不确定在这种情况下音频会如何工作,因为这个Kandy library 需要渲染媒体或<audio> 标签来建立媒体通道。
这里是Codepen link 只是为了理解代码,出于安全原因,我无法提供凭据,但您可以获取我们用于示例的代码。
检查 kandy.media.renderTracks(call.remoteTracks, "#remote-container"),它需要div 标签 <div id="remote-container"></div> 来呈现媒体。
【问题讨论】:
标签: javascript node.js webrtc html5-audio