通过阅读本文,您可以了解到屏幕分享的使用方法。
注意
1)从应用安全考虑,移动端默认未开通屏幕共享功能。如果您想开通移动端屏幕共享功能,请提交工单申请。
2)RTC Android 3.0 SDK 内已经实现了屏幕共享权限的申请,因此在集成使用屏幕共享功能的业务代码中无需再次申请此权限,否则可能会导致多次屏幕共享权限申请确认。
推流端
启动屏幕分享。
// 配置屏幕分享推流
//获取DingRtcEngine实例
DingRtcEngine mRtcEngine = DingRtcEngine.create(getApplicationContext(),"");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForegroundService(sharingService);
}
ret = mRtcEngine.startScreenShare();
.....
推流后通过回调判断屏幕共享是否发布成功。
public void onScreenSharePublishStateChanged(DingRtcEngine.DingRtcPublishState oldState , DingRtcEngine.DingRtcPublishState newState, int elapseSinceLastState, String channel);
参数
类型
描述
oldState
DingRtcPublishState
之前的推流状态。
newState
DingRtcPublishState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔。单位:毫秒。
channel
String
当前频道ID。
停止屏幕分享。
int ret = mRtcEngine.stopScreenShare();;
停止屏幕共享后通过回调判断屏幕共享是否取消发布成功。
public void onScreenSharePublishStateChanged(DingRtcEngine.DingRtcPublishState oldState , DingRtcEngine.DingRtcPublishState newState, int elapseSinceLastState, String channel);
参数
类型
描述
oldState
AliRtcPublishState
之前的推流状态。
newState
AliRtcPublishState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔。单位:毫秒。
channel
String
当前频道ID。
订阅端
订阅端用户可通过自动或手动方式订阅推流端屏幕分享视频流,并设置对应View显示,详情请参见DingRtcEngine接口。
文档内容是否对您有帮助?