我使用的是 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);
}
答案 0 :(得分:0)
不幸的是,Agora 不支持 Safari 上的屏幕共享,如此处的文档所述:https://docs.agora.io/en/Video/screensharing_web?platform=Web#introduction
<块引用>Agora RTC Web SDK 支持以下桌面浏览器的屏幕共享: