屏幕共享

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

  • 视频会议场景中,屏幕共享可以将讲话者本地的文件、数据、网页、PPT 等画面分享给其他与会人;
  • 在线课堂场景中,屏幕共享可以将老师的课件、笔记、讲课内容等画面展示给学生观看。

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


共享端

  1. 创建屏幕共享观看组件
  2. 开始共享
  3. 开启标注
  4. 停止标注
  5. 停止共享

观看端

  1. 创建屏幕共享观看组件
  2. 通知开始共享
  3. 通知开启标注
  4. 通知停止标注
  5. 通知停止共享

共享端

1.创建屏幕共享观看组件

使用可视化UI组件进行屏幕共享显示和操作

  • 控件调用
<com.cloudroom.cloudroomvideosdk.ScreenShareUIView
    android:id="@+id/view_screenshare"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

相关API请参考:

2.开始共享

  • 接口调用:

//设置屏幕共享参数:帧率8,其他採用系統默认參數
ScreenShareCfg cfg = new ScreenShareCfg();
// 共享帧率
cfg.maxFps = 8;
// 配置共享参数
CloudroomVideoMeeting.getInstance().setScreenShareCfg(cfg);

//开启屏幕共享
/* 注:共享屏幕需要相应授权,请添加下面权限申请界面声明到主配置文件 
 <activity
  android:name="com.cloudroom.screencapture.PermissionActivity"
  android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation"
  android:launchMode="singleTop" 
  android:screenOrientation="sensor" >
 </activity>
 */
CloudroomVideoMeeting.getInstance().startScreenShare();
  • 回调通知:

// 开启结果
void startScreenShareRslt(CRVIDEOSDK_ERR_DEF sdkErr) {
    if (sdkErr == CRVIDEOSDK_ERR_DEF.CRVIDEOSDK_NOERR){
        //开启屏幕共享成功
	...
    }else{
        //开启屏幕共享失败
	...
    }
}

相关API请参考:

3.开启标注

注意:只有主动开启屏幕共享的用户,才可以开启标注功能。

  • 接口调用:
//开启标注
CloudroomVideoMeeting.getInstance().startScreenMark();

  • 回调通知:

//开启标注结果
void startScreenMarkRslt(CRVIDEOSDK_ERR_DEF sdkErr){
  if (e.p_sdkErr == CRVIDEOSDK_NOERR){
   	//标注开启成功后,显示屏幕共享控件
      	screenshareView.setVisiblity(View.VISIBLE);
  }else{
      //开启标注失败
      ...
  }
}

相关API请参考:

4.停止标注

  • 接口调用:
//停止标注
axVideoMeeting.stopScreenMark();

  • 回调通知:
//停止标注的结果
void stopScreenMarkRslt(CRVIDEOSDK_ERR_DEF sdkErr){
  //停止标注成功
  ...
}

相关API请参考:

5.停止共享

  • 接口调用:
//主动停止屏幕共享
axVideoMeeting.stopScreenShare();
  • 回调通知:

//主动停止屏幕共享的结果
void stopScreenShareRslt(CRVIDEOSDK_ERR_DEF sdkErr){
      ...
}

观看端

1.创建屏幕共享观看组件

使用可视化UI组件进行屏幕共享显示和操作

  • 控件调用
<com.cloudroom.cloudroomvideosdk.ScreenShareUIView
    android:id="@+id/view_screenshare"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

相关API请参考:

2.通知开始共享

- 回调通知:

//收到屏幕共享通知的处理,显示屏幕共享控件
void notifyScreenShareStarted(){
    screenshareView.setVisibility(View.VISIBLE);
}

相关API请参考:

3.通知开启标注

- 回调通知:

//收到屏幕共享已开启标注的通知
void notifyScreenMarkStarted() {
  ...
}

4.通知停止标注

  • 回调通知:

//收到屏幕共享停止标注的通知
void notifyScreenMarkStopped(){
  ...
}

5.通知停止共享


//收到他人停止了屏幕共享的通知
void notifyScreenShareStopped()
{
   //隐藏屏幕共享控件
   screenshareView.setVisibility(View.GONE);
}

相关API请参考: