第一次使用 webrtc ,实现了远程屏幕共享,消息发送,但是遇到了一个问题,先说说我的实现:
首先页面上只有一个 video 标签,AB 都是同一套项目代码。
AB 分别在不同的电脑上打开网页,A 分享屏幕给 B ,B 接受以后,现在 A 在自己浏览器 video 标签能看到自己的屏幕画面,B 在自己的浏览器 video 标签也能看到 A 的画面,这里分享一切都正常,发送消息也是正常的。
然后在不关闭现有画面分享的情况下,B 又把自己的画面(可以是屏幕,网页都行)分享给 A ,这里重新发起 offer-aswer 过程,A 接受以后,A 现在本地的 video 标签视频流就替换成 B 的分享画面(之前是 A 自己的本地画面),然后诡异的问题就出现了
A 使用 datachannel 发送消息给 B ,然后 AB 都收到了...,更诡异的是,A 关闭分享给 B 的画面,AB 同时都被关闭了, 按照我的预期,A 关闭画面也只是影响到 B 的画面没有数据了,为什么把两端的流都给关闭了呢,难道是我全程都是用的一个 video 标签的原因嘛
1
Adyi 43 天前
我这两天也在做一个类似的东西,目前只做到的 A 看到自己的画面,还没有跟 B 打通
|
![]() |
2
raviscioniemeche OP 打通很简单的 10 分钟打通 就是细节比较难控制 有些 api 回调不会按照预期执行就很难办
|