【问题标题】:manage session after refresh page in WebRTC based audio calls在基于 WebRTC 的音频呼叫中刷新页面后管理会话
【发布时间】: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


    【解决方案1】:

    这似乎是 Kandy SDK 中的一个错误。通常,信令服务器(在本例中为 websocket)可以检测正在通话的客户端是否关闭 websocket 并通知通话的另一端。

    使用window.onbeforeunload 向客户端发送“再见”也可能会有所帮助。

    【讨论】:

    • 有什么办法可以恢复而不是结束它
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多