如何解决使用 agora sdk 在 safari 13 中共享屏幕
我使用的是 agora-rtc-sdk 3.3.0。当我单击“共享屏幕”并授予许可(问题不在于 getDisplayMedia)时,Safari 重新加载页面。导致它的行是 client.publish(stream),如果评论此行流成功创建(根据控制台),与客户端相同,但我无法发布我的“屏幕共享”流。此错误仅在 safari 13 中出现,其他浏览器工作正常。添加这部分代码。
const beginShare = async() => {
agoraShareStream = AgoraRTC.createStream({
streamID: SHARE_ID,audio: false,video: false,screen: true
});
await agoraShareStream.init(() => {
console.log('init local stream success')
});
setShareStream(agoraShareStream);
enqueueSnackbar("Started screen sharing",{ variant: "info" });
}
const createShareClient = async() => {
const agoraShareClient = AgoraRTC.createClient({
mode: "rtc",codec: "vp8"
});
await agoraShareClient.init(appId);
await agoraShareClient.join(getAgoraToken({ uid: SHARE_ID,channel }),channel,SHARE_ID);
agoraShareClient.publish(agoraShareStream);
setShareClient(agoraShareClient);
}
解决方法
不幸的是,Agora 不支持 Safari 上的屏幕共享,如此处的文档所述:https://docs.agora.io/en/Video/screensharing_web?platform=Web#introduction
Agora RTC Web SDK 支持以下桌面浏览器的屏幕共享:
- Chrome 58 或更高版本
- Firefox 56 或更高版本
- Windows 10+ 上的 Edge 80 或更高版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。