Chrome屏幕共享

该章节主要介绍和屏幕共享相关的功能。包括:开启屏幕共享关闭屏幕共享Chrome屏幕共享功能接入功能,通过阅读本章节,您可以快速了解Web端桌面共享,实现了在Chrome 58+浏览器下以插件形式支持整个桌面共享、应用共享的多种屏幕共享能力。

使用插件的方式进行屏幕共享

开启屏幕共享

netcall.startDevice({
  type: Netcall.DEVICE_TYPE_DESKTOP_CHROME_SCREEN
}).catch(function(err) {
  if (error.code === 404) {
    console.log('未安装插件')
  } else if (error.code === 20) {
    console.log('未获取到流', err) 
  } else {
    console.log('启动屏幕共享失败', err)
  }
})

关闭屏幕共享

netcall.stopDevice(Netcall.DEVICE_TYPE_DESKTOP_CHROME_SCREEN).then(() => {
  console.log('屏幕共享关闭成功')
})

Chrome屏幕共享功能接入

详情请点击:Chrome屏幕共享功能接入

浏览器原生接口进行屏幕共享

开启屏幕共享

netcall.startDevice({
  type: Netcall.DEVICE_TYPE_DESKTOP_CHROME_SCREEN
}).catch(function(err) {
  console.log('启动屏幕共享失败', err)
})

关闭屏幕共享

netcall.stopDevice(Netcall.DEVICE_TYPE_DESKTOP_CHROME_SCREEN).then(() => {
  console.log('屏幕共享关闭成功')
})

屏幕共享与混频

在加入房间前,可以开启混频设置,将会把摄像头与屏幕共享的采集到的流混合在一起。具体混频设置请查看视频和演示混频功能(webrtc)

监听屏幕共享停止事件

开启屏幕共享之后,chrome浏览器会自动生成一个屏幕共享的控制条,提示用户正在共享您的屏幕,此外还有停止共享、隐藏的控制按钮,如果用户自己点击停止共享按钮,sdk开发者可以通过这个事件监听,或者屏幕共享被停止的事件,根据自己的业务逻辑,做相应的处理

netcall.on('streamEnded', function(obj) {
  console.log('媒体流停止了', obj);
  if (obj && obj.type ==== 'screen') {
    //屏幕共享的媒体流已经停止了,此处做关闭屏幕共享处理
    netcall.stopDevice(Netcall.DEVICE_TYPE_DESKTOP_CHROME_SCREEN).then(() => {
      console.log('屏幕共享关闭成功')
    })
  }

});

obj 为其他端已处理的回调对象

obj 属性 类型 说明
type string 媒体类型,screen 表示屏幕共享
name string 事件描述名称
code number 事件错误码
desc string 具体描述