【发布时间】:2014-08-11 10:31:14
【问题描述】:
我正在开发一个 chrome 扩展程序,可用于使用 WebRTC 进行桌面共享。我需要在一种自动化模式下使用这个扩展,即没有用户交互。此扩展将用作主应用程序的子进程,因此必须避免“chooseDesktopMedia”显示的任何权限和/或媒体选择对话框。据我了解使用 WebRTC 进行桌面共享,我得出一个结论,即“chooseDesktopMedia”必须调用 api 进行桌面共享,因此无法绕过选择对话框。但有一件事让我很困惑。在阅读 Stackoverflow 上的另一篇文章(即Desktop capture chrome plugin)时,我发现有人声称该人设法在没有显示桌面/屏幕选择对话框的情况下完成了上述任务。这让我很困惑,因为该线程中的声明没有提供适当的解决方案。
所以我现在想问一个简单的问题。 WebRTC的桌面共享不调用chooseDesktopMedia可以吗?
【问题讨论】:
-
我是那个试图对该问题回答“否”的人,并在 OP 宣布成功后撤回了我的回答。你试过在没有
chromeMediaSourceId的情况下调用webkitGetUserMedia吗? -
是的,我试过了,但没有帮助。我高度怀疑他的解决方案是否有效,因为他没有使用媒体源 ID。他写道,他删除了“chrome.desktopCapture.chooseDesktopMedia()”,但没有提到他是如何在不调用“chooseDesktopMedia”的情况下获得媒体 ID。
-
您不能通过 SSL 连接执行此操作并在 Chrome 中保存允许的连接吗?我知道
getUserMedia和访问相机就是这种情况。 -
我刚刚尝试了这个演示 dl.dropboxusercontent.com/u/178301/screen_sharing_example.html,并在 chrome 中启用了“在 getUserMedia() 中启用屏幕捕获支持”标志。仍然没有成功。请注意,上述演示页面是本文bloggeek.me/implement-screen-sharing-webrtc 于 2014 年 1 月 29 日发布的结果。此演示使用 navigator.getUserMedia 未指定媒体 ID,如上述帖子中所述。
标签: google-chrome-extension webrtc desktop-sharing