屏幕共享
屏幕共享用于在通话过程中把当前桌面、窗口或浏览器标签页实时展示给对方,适合远程指导、问题排查、操作演示和页面讲解等场景。
当前实现支持双向屏幕共享:
- 支持访客端将自己的屏幕共享给客服端。
- 支持客服工作台和 desktop 客服端将自己的屏幕共享给访客端。
- 可在音频通话中直接开启屏幕共享,也可在视频通话中切换为屏幕共享展示。
- 共享开始后会持续保留语音通道,当前实现不采集系统声音,只共享画面内容。
功能说明
当前屏幕共享能力包含以下特性:
- 只有在通话已接通后,页面才会显示“共享屏幕”按钮。
- 开启共享后,通话界面会自动进入共享 展示态,按钮切换为“停止共享”。
- 如果共享前本地已经开启摄像头,停止共享后会自动恢复摄像头画面。
- 如果共享前是纯音频通话,停止共享后会自动回到音频通话状态。
- 如果在浏览器共享选择器中手动结束共享,页面也会自动同步停止共享状态。
使用前准备
- 访客或客服双方已经建立音频或视频通话,并处于已接通状态。
- 当前浏览器支持屏幕采集能力,也就是支持 getDisplayMedia。
- 如果页面运行在 iframe 中,宿主页面需要允许 display-capture,并同时保留 camera、microphone 等音视频权限。
- 建议使用最新版 Chrome、Edge 等 Chromium 内核浏览器,以获得更稳定的共享体验。
适用场景
访客端共享给客服端
适合让客服查看用户当前操作页面、业务系统界面、表单填写过程或错误提示。
客服端共享给访客端
适合客服向访客演示后台操作步骤、 引导用户完成配置,或进行远程讲解。
如何开启共享
第一步:先建立通话
屏幕共享不是独立入口,需要先发起并接通音频客服或视频客服。只有进入通话中状态后,底部控制栏才会显示共享按钮。
第二步:点击“共享屏幕”
接通后,在底部操作栏点击屏幕共享按钮。
- 访客端和 desktop 客服端都使用同一个共享入口。
- 按钮仅在当前窗口支持共享时显示;如果当前窗口不支持,则不会出现该按钮。
- 在 iframe 场景下,如果宿主没有开放 display-capture 权限,按钮也不会正常可用。
选择共享窗口
点击后,浏览器会弹出系统级选择器,通常可选择以下内容之一:
- 整个屏幕。
- 某个应用窗口。
- 某个浏览器标签页。
按照浏览器提示选择要共享的目标,然后确认开始共享。

开始共享
共享成功后,页面会立即进入共享中状态,并表现为:
- 页面标题和状态会切换为“屏幕共享”“屏幕共享中”等提示。
- 底部按钮会由“共享屏幕”切换为“停止共享”。
- 当前共享内容会优先作为主展示画面。
- 麦克风语音仍可继续传输,双方可以边看边沟通。
如果是从音频通话中直接开启共享,系统会临时开启视频发送能力用于传输屏幕画面,但本质上仍然是“语音 + 屏幕展示”的协作场景。

本地查看共享内容
发起共享的一方会在本地看到自己的共享内容预览。当前实现中,共享画面会优先占据主视图,方便确认自己正在展示的内容是否正确。
如果共享前已经打开摄像头,系统会在停止共享后自动恢复摄像头;如果共享前没有摄像头画面,则停止后不会继续保留本地视频。

查看远程共享屏幕
接收共享的一方会直接在通话主区域看到对方的共享画面。
- 即使当前通话原本是音频通话,只要对方开启了屏幕共享,接收方也会进入共享展示视图。
- 当对方停止共享后,页面会自动回到原来的音频或视频通话布局。
- 如果当前是单向视频场景,屏幕共享仍会以共享内容优先展示。

如何停止共享
可以通过以下任一方式结束共享:
- 在通话底部再次点击“停止共享”。
- 在浏览器原生共享提示条中停止共享。
- 直接结束当前通话。
停止后,页面会自动恢复到共享前的媒体状态:
- 共享前是视频通话,则恢复视频通话。
- 共享前是音频通话,则恢复音频通话。
- 如果浏览器或系统强制结束共享,页面也会自动同步更新。
嵌入式页面注意事项
如果屏幕共享页面通过 iframe、内嵌弹窗或第三方业务系统打开,需要额外注意以下事项:
- 宿主 iframe 必须允许 display-capture,否则浏览器不会允许屏幕共享。
- 通常还需要同时保留 camera 和 microphone 权限,避免音视频能力异常。
- 某些浏览器对跨域 iframe、企业安全策略或系统权限控制更严格,若按钮未出现,优先检查宿主页面权限配置。
常见问题
为什么看不到“共享屏幕”按钮?
- 当前通话尚未接通。
- 当前浏览器不支持屏幕共享。
- 页面运行在 iframe 中,但宿主没有开放 display-capture 权限。
为什么点击后无法开始共享?
- 浏览器共享窗口选择器被取消。
- 系统或浏览器拦截了当前页面的屏幕录制权限。
- 当前环境的安全策略不允许当前页面执行屏幕采集。
为什么停止共享后又恢复成摄像头画面?
这是当前实现的预期行为。如果共享前本地已经开启摄像头,停止共享后系统会自动恢复摄像头视频流,避免用户重新手动开启。
为什么共享时听得到声音,但对方听不到系统播放的声音?
当前实现只共享屏幕画面,不采集系统声音。通话中的语音仍然来自麦克风输入,因此适合讲解和协同演示,不适合直接转播系统音频内容。