订阅屏幕共享
更新时间: 2024/09/18 16:26:13
本文介绍如何实现订阅远端(安卓端、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 组件
})
此文档是否对你有帮助?