订阅屏幕共享

更新时间: 2024/09/18 16:26:13

本文介绍如何实现订阅远端(安卓端、iOS、Web 端等)用户的屏幕共享。

功能原理

实现订阅屏幕共享流的本质是 NERTC SDK 提供一个独立的 rtmp 拉流通道,您只需要同时新建一个 live-player 组件用于拉取屏幕共享流。

配置步骤

  1. 在接收到远端用户发起屏幕共享的通知,即当 SDK 返回 on('stream-added',uid,screenShare) 回调后,调用 subscribe 方法订阅指定远端用户的视频辅流,并指定用户的 uid 和对应的 mediaType(screenShare)。
  2. 若您希望取消订阅该视频辅流,可以调用 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 组件
})
此文档是否对你有帮助?
有帮助
去反馈
  • 功能原理
  • 配置步骤
  • 示例代码