阿里云 RTC SDK 为您提供屏幕分享使用的接口方法,通过本文档您可以了解实现的具体调用流程。
前提条件
您需要调用 isSupport 接口根据返回参数 supportScreenShare 来检测是否支持屏幕分享。
环境要求
Web SDK 屏幕共享功能的环境要求请参见
。
推流端
- 设置参数。
/**
* 设置视频/屏幕流参数
* @param {Number} width 宽度
* @param {Number} height 高度
* @param {Number} frameRate 帧率
* @param {Number} type 类型 1:摄像头流 2:共享流
*/
aliWebrtc.setVideoProfile({
width,
height,
frameRate
},type);
- 启动屏幕分享。
// 配置屏幕共享推流
aliWebrtc.configLocalScreenPublish = true;
// 启动推流
aliWebrtc.publish().then(()=>{
//推流成功
}).catch((err) => {
//推流失败
})
- 共享屏幕声音。说明共享屏幕声音支持 Windows 端 Chrome 75 及以上版本或 Edge 80 及以上版本,Mac 端仅支持分享标签页声音。
-
- 勾选分享音频。
产品百科 | RTC Web SDK 如何调用屏幕分享接口 - 推音频流。分享的音频会和麦克风混流,需要同时推音频流,此时订阅端只需订阅音频流就可以听到对方麦克风和屏幕分享音频。
- 勾选分享音频。
- 停止屏幕分享。
// 配置屏幕共享停止
aliWebrtc.configLocalScreenPublish = false;
// 启动停推
aliWebrtc.publish().then(()=>{
//推流成功
}).catch((err) => {
//推流失败
})
- 错误码提示。
aliWebrtc.on("onError",(error)=>{
//10010 屏幕共享未知错误
//10011 屏幕共享在选择页面取消选择 屏幕共享被禁止
//10012 屏幕共享在网页底部悬浮窗单击停止共享 屏幕共享已取消
console.log(error.errorCode);
})
订阅端
订阅端用户可通过手动方式订阅推流端屏幕共享流,并设置对应 video 显示,详情请参见
AliRtcEngine 接口「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。