我一直在执行一个webrtc videochat.
一切都顺利进行,除非对等关闭浏览器.
我一直在尝试通过在远程mediastream上实现一个onended回调来处理这个事件.虽然这个回调似乎没有被调用.
如何检测到对等体的浏览器已关闭或连接是否在另一端完成?
解决方法
您可以使用ICE连接状态来确定这一点.如果您断开一个对等体,则需要几秒钟(〜5?)来识别它,但即使没有信令服务器也可以工作.
(假设你叫对等连接pc)
pc.oniceconnectionstatechange = function() { if(pc.iceConnectionState == 'disconnected') { console.log('Disconnected'); } }