订阅屏幕共享
更新时间: 2025/06/11 16:45:39
本文介绍如何实现订阅远端(安卓端、iOS、Web 端等)用户的屏幕共享。
功能原理
实现订阅屏幕共享流的本质是 NERTC SDK 提供一个独立的 rtmp 拉流通道,您只需要同时新建一个 live-player 组件用于拉取屏幕共享流。
配置步骤
- 在接收到远端用户发起屏幕共享的通知,即当 SDK 返回
on('stream-added',uid,screenShare)回调后,调用subscribe方法订阅指定远端用户的视频辅流,并指定用户的 uid 和对应的 mediaType(screenShare)。 - 若您希望取消订阅该视频辅流,可以调用
unsubscribe方法并指定用户的 uid 和对应的 mediaType(screenShare)。
示例代码
JavaScript//订阅屏幕共享
client.on('stream-added', ({ uid, mediaType, isBigNumber }) => {
console.log('[stream-added 通知]', `${uid} 发布了自己的 ${mediaType}, isBigNumber: ${isBigNumber}`)
// mediaType: audio、slaveAudio、video、screenShare(screenShare 表示视频辅流)
client.subscribe(uid, mediaType).then(res => {
console.log(`订阅 ${uid} 的 ${mediaType} 成功,开始拉流:${res.url}`)
//由于此时 mediaType 为 screenShare,该 url 是新的 url,需要新建一个 live-player 组件,并且复制 src 为该 url,用于拉取屏幕贡献
})
}
//取消订阅屏幕共享
client.unsubscribe(uid, 'screenShare').then(res => {
logger.log('取消订阅视频辅流 完成: ', uid)
//清除 screenShare 的 live-player 组件
})
此文档是否对你有帮助?





