# 屏幕共享

功能简介:

在视频会话中为了提高沟通效率,可以将自己的屏幕内容分享给其他参与方观看。还支持在屏幕上进行标注,以及授权其他参与方进行远程控制。当屏幕共享者开启标注后,控件就进入标注模式。此时,房间内所有用户都可以进行标注,并观看他人标注的内容。

使用场景如下: 视频会议场景中,屏幕共享可以将讲话者本地的文件、数据、网页、PPT 等画面分享给其他与会人;

在线课堂场景中,屏幕共享可以将老师的课件、笔记、讲课内容等画面展示给学生观看。

注意:同一个房间中,不支持多人同时开启屏幕共享。

共享端:

观看端:

# 共享端

1.开始共享

使用接口启动共享,出现共享内容显示组件后,用组件上的功能开始标注和结束共享。 接口调用:

/*

*开启屏幕共享分为2步:

*/

// 1.设置屏幕共享参数

var jsonCfg = {"maxFPS":8, "maxKbps":800};

CRVideo_SetScreenShareCfg(jsonCfg);

//2.开启屏幕共享

CRVideo_StartScreenShare();回调通知:

// 主动开启屏幕共享的结果

CRVideo_StartScreenShareRslt.callback=function(sdkErr){

if(sdkErr == CRVideo_NOERR){ //主动开启共享成功

}else{

console.log("主动开启共享失败,错误码:" +sdkErr);

}

}

相关API请参考:

相关结构定义请参考 :

2.开启标注

注意:只有主动开启屏幕共享的用户,才可以开启标注功能。观看他人屏幕的用户不能开启标注。 接口调用:

//开启标注

CRVideo_StartScreenMark();回调通知:

//开启标注的结果

CRVideo_StartScreenMarkRslt.callback = function(sdkErr){

if(sdkErr == CRVideo_NOERR){ //开启标注成功

}else{

console.log("开启标注失败,错误码:" +sdkErr);

}

}

相关API请参考:

3.停止标注

注意:只有主动开启屏幕共享的用户,才可以停止标注功能。观看他人屏幕的用户不能停止标注。 接口调用:

//停止标注

CRVideo_StopScreenMark();回调通知:

//停止标注的结果

CRVideo_StopScreenMarkRslt.callback = function(sdkErr){

if(sdkErr == CRVideo_NOERR){ //停止标注成功

}else{

console.log("停止标注失败,错误码:" +sdkErr);

}

}

相关API请参考:

4.停止共享 接口调用:

//主动停止屏幕共享

CRVideo_StopScreenShare()回调通知:

//主动停止屏幕共享的结果

CRVideo_StopScreenShareRslt.callback=function(sdkErr){

if(sdkErr == CRVideo_NOERR){ //主动停止共享成功

}else{

console.log("主动停止共享失败,错误码:" +sdkErr);

}

}

相关API请参考:

观看端

1.创建屏幕共享显示控件

var g_screenShareObj = null; //声明屏幕共享控件变量

//创建屏幕共享控件对象

if(g_screenShareObj == null) {

g_screenShareObj = CRVideo_CreatScreenShareObj();

g_screenShareObj.id("screenShareObj");

//为控件添加父元素div(例如:其id为screenShareContainer),

//后面需要布局 、显示、隐藏屏幕共享控件时直接操作此父元素div

$("#screenShareContainer").append(g_screenShareObj.handler());

}

2.观看共享的屏幕 回调通知:

//收到他人开启了屏幕共享的通知,此时可以观看他人的屏幕

CRVideo_NotifyScreenShareStarted.callback=function(){

//修改布局,把屏幕共享控件放入界面,即可观看他人的屏幕。示例代码如下:

$("#screenShareContainer").css({"display":"block",

"left":"0px",

"top":"0px",

"width":"544px",

"height":"306px",

"overflow":"hidden"});

g_screenShareObj.width(544);

g_screenShareObj.height(306);

}

相关API请参考:

3.开启、停止标注通知 回调通知:

//收到共享端已开启标注的通知

CRVideo_NotifyScreenMarkStarted.callback = function(){

}

//收到共享端已停止标注的通知

CRVideo_NotifyScreenMarkStopped.callback = function(){

}

相关API请参考:

4.屏幕共享停止通知 回调通知:

//收到他人停止了屏幕共享的通知,即停止观看(此时可以隐藏屏幕共享控件)

CRVideo_NotifyScreenShareStopped.callback=function(){

//隐藏屏幕共享控件。 示例代码:

$("#screenShareContainer").hide();

}

相关API请参考:

html屏幕共享,屏幕共享相关推荐

  1. Deskreen – 将电脑屏幕共享到浏览器中,做第二块屏幕[Win/macOS/Linux]

    介绍: Deskreen 是一款非常实用的开源项目,它可以将你的电脑屏幕共享到浏览器中,做第二块屏幕.支持 Windows.macOS.Linux,可分享整块屏幕,或只分享某一个应用界面,支持多个浏览 ...

  2. mac设置共享屏幕 苹果mac屏幕共享设置详细教程

    2019独角兽企业重金招聘Python工程师标准>>> 苹果mac怎么共享屏幕?OS X 自带屏幕共享功能,支持拖拽以及文本拷贝,操作还相当简单,仅需要点几个按钮就搞定:另外,还可以 ...

  3. 钉钉在线课程开启屏幕共享时电脑蓝屏问题解决办法

    钉钉在线课程开启屏幕共享时电脑蓝屏问题解决办法记录,以免忘记 蓝屏提示:igdpmd64.sys相关的问题... 联想电脑G470: 1. 开机logo处按F2进入BIOS. 2. 将[configu ...

  4. Java+Netty+WebRTC、语音、视频、屏幕共享【聊天室设计实践】

    背景 本文使用webtrc实现了一个简单的语音视频聊天室.支持多人音视频聊天.屏幕共享. 环境配置 音视频功能需要在有Https协议的域名下才能获取到设备信息, 测试环境搭建Https服务参考Wind ...

  5. 适用于任何设备的屏幕共享应用程序 – Mirroring360

    Mirroring360 适用于 Windows.Mac.iOS.Android 和 Chromebook 设备的屏幕镜像和屏幕共享,非常适合商务和教育! 屏幕共享应用程序可以帮助增强业务专业人员,讲 ...

  6. macbook android 屏幕共享,苹果设备小技巧:iPhone,iPad,Mac进行屏幕共享和远程控制...

    随着生活的发展,对视频通话和屏幕共享的需求已大大增加.有时,当您不在身边时,可以轻松地通过电话或短信进行故障排除,但通常可以在屏幕上看到发生了什么,并可以远程访问权限.接下来,我们将介绍如何与iPho ...

  7. android手机屏幕共享神器踩坑指南

    开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...

  8. android设备之间屏幕共享

    最近公司在开发一款android的设备把屏幕投射到手机上,同时手机还可以触控.键盘操作.这样,就达到了屏幕共享的目的. 思考了一下,主要思路: 1.将截图所获取的位图用ffmpeg编码成视频流. 2. ...

  9. 安卓手机屏幕共享给电脑操作的几款软件

    total control vysor AirDroid 查看全文 http://www.taodudu.cc/news/show-6305689.html 相关文章: android照片共享,在安卓 ...

  10. 声网的视频直播与屏幕共享

    视频直播 以下是操作步骤 1. 获取当前设备的 麦克风 摄像头 扬声器 等数据 2. 创建直播实例 3. 给当前实例绑定事件 4. 初始化频道 5. 加入频道 6. 创建本地流 7. 初始化本地流 8 ...

最新文章

  1. debian linux忘记密码,debian ubuntu linux 忘记root密码的重置方法
  2. SQL Server-流程控制 5,Goto 语句
  3. 03-vue-router
  4. go语言使用redis —— redigo
  5. OpenCV级联分类器Cascade Classifier
  6. JavaScript原生添加移除class的方法
  7. Hibernate如何存储二级缓存条目
  8. 旋转散点图_聚类分析的结果如何用散点图展示出来?
  9. android webapi 返回html 代码,ANDROID调用VS2013 ASP.NET WEBAPI 返回DATATABLE 注意
  10. Spring之ApplicationContextAware接口详解
  11. 学生信息表 -通过选择年级和班级得到详细的学生信息名单
  12. markdown编辑器sublime text3
  13. ISA 2000与ISA 2004的区别
  14. 电子书下载:C# 语言规范 3.0 , 4.0 中文版
  15. linux系统宕机处理方式,如何处理Linux系统宕机的问题
  16. 管中窥豹SPDK RBD bdev模块
  17. (开源)带有笔顺的字体
  18. 浏览器无法显示网页解决方法
  19. linux winscp 乱码,WinSCP无法登陆、乱码及关联Putty的设置
  20. 攻防世界(动态调试题)

热门文章

  1. 【笔记】知行合一王阳明:1472~1529
  2. 前端html小技巧(css篇)—表单美化详解
  3. 管壁式换热器cad图纸_各种换热器结构原理动态图,让你大开眼界!
  4. iOS 9键盘类型合集
  5. html+css+javascript 大数据科技登录界面模板html
  6. HTML5新特性之标签实战应用:超星尔雅平台
  7. python vba excel课程_Excel办公自动化—VBA 及编程入门指南
  8. 笨方法学python3 epub_Python3.5从零开始学[azw3+epub+mobi][77.37MB]
  9. 简单的商品信息管理系统(Java 和sql server数据库)源码
  10. Java二:计算机语言发展进程 以及 JAVA的发展、特性、版本介绍