屏幕共享
功能简介: 在视频会话中为了提高沟通效率,可以将自己的屏幕内容分享给其他参与方观看。还支持在屏幕上进行标注,以及授权其他参与方进行远程控制。当屏幕共享者开启标注后,控件就进入标注模式。此时,房间内所有用户都可以进行标注,并观看他人标注的内容。 使用场景如下:
- 视频会议场景中,屏幕共享可以将讲话者本地的文件、数据、网页、PPT 等画面分享给其他与会人;
- 在线课堂场景中,屏幕共享可以将老师的课件、笔记、讲课内容等画面展示给学生观看。
注意:同一个房间中,不支持多人同时开启屏幕共享。
共享端
观看端
共享端
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请参考: