通过阅读本文,您可以了解到Web SDK屏幕分享的使用方法。
实现方法
以下为屏幕共享的操作方法,更多信息,请参见DingRTC。
createScreenVideoTrack():创建一个屏幕共享的视频轨道。
const [screenTrack] = await createScreenVideoTrack(config: ScreenVideoTrackConfig);
ScreenVideoTrackConfig:创建屏幕共享流时的配置对象, 以下是属性信息:
属性
类型
描述
dimension?
(Optional)视频规格
displaySurface?
'browser' | 'window' | 'monitor'
(Optional)默认选中的共享内容类型,支持设为标签页、应用窗口或屏幕。
frameRate?
number
(Optional)帧率
publish()发布屏幕共享,同频道远端用户会触发"user-published"事件,即可在事件回调中订阅屏幕共享。
// 本地 localClient.publish(screenTrack) // 远端 remoteClient.on('user-published', (user: RemoteUser, mediaType, isAuxillary) => { if (mediaType === 'video' && isAuxillary) { // 代表远端用户屏幕共享流发布 } })
"user-unpublished" 取消发布屏幕共享, 同频道远端用户会触发"user-unpublished"事件,即可在事件回调中取消订阅屏幕共享。
// 本地 localClient.unpublish(screenTrack) // 远端 remoteClient.on('user-unpublished', (user: RemoteUser, mediaType, isAuxillary) => { if (mediaType === 'video' && isAuxillary) { // 代表远端用户屏幕共享流停止发布 } })
subscribe()订阅屏幕共享,第三个参数为true时,代表要订阅该用户的屏幕共享轨道。
client.subscribe(user.userId, 'video', true);
unsubscribe()取消订阅屏幕共享,第三个参数为true时,代表要取消订阅该用户的屏幕共享轨道。
client.unsubscribe(user.userId, 'video', true);
文档内容是否对您有帮助?