- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们可以通过 navigator.mediaDevices.getDisplayMedia()
向屏幕或窗口请求媒体流.但是,这会立即提示用户决定使用哪种捕获方式。我需要检查浏览器/平台是否支持屏幕捕获。
当然可以查看'getDisplayMedia' in navigator.mediaDevices
,但这只是告诉我们浏览器是否支持该 API。特别是在 FF 和 Android 上的 Chrome 上,定义了 API,我可以调用 getDisplayMedia()
,但它总是立即返回 NotAllowedError
错误(这是意料之中的: according to caniuse ,移动浏览器尚不支持 getDisplayMedia
。)
接下来,我尝试检查 navigator.mediaDevices.getSupportedConstraints()
.但是,我的移动 FF 返回与我的桌面 FF 完全相同的对象。特别是,navigator.mediaDevices.getSupportedConstraints().mediaSource
是 true
在这两种情况下。最后是navigator.mediaDevices.enumerateDevices()
返回的数据对我也没有帮助。我只得到一个我无法以任何方式解释的设备和组 ID(对吗?)。
是否可以通过getDisplayMedia
检测是否截屏预先支持?
(注:this Q&A 看起来很相似,但大约是 getUserMedia
并且已经很老了)
最佳答案
不幸的是,没有直接的方法来检测 getDisplayMedia 是否可以在这些浏览器上运行。
今天你能做的就是browser-sniff the UA string检测您不在缺乏支持的移动设备上。¹
我已经提交了 issue on the spec根据您的问题,看看 getDisplayMedia 是否更好离开 undefined
不受支持时。
1. caniuse声称 Opera Mobile 支持,但是当我 test it .
关于javascript - 通过 `getDisplayMedia` 检查浏览器/平台是否支持屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58842831/
我试图用 MediaRecorder API 制作一个基本的媒体记录器这是相当直接的:从 getDisplayMedia 获取流,然后记录它。 问题:这仅记录最大屏幕尺寸,但没有更多。所以如果我的屏幕
navigator.mediaDevices.getDisplayMedia({ audio: false, video: true }).then(gotMedia).catch
我的网站具有通过共享屏幕功能截取屏幕截图的功能。在 chrome 和 firefox 上一切正常,但在 safari 上出现错误“必须从用户手势处理程序调用 getDisplayMedia”。是否可以
我正在使用 MediaStream 和 MediaRecorder 录制我的浏览器窗口。 但是需要禁用鼠标光标被记录,所以当我创建我的视频轨道时,我使用以下代码: stream['input'] =
我正在使用 navigator.mediaDevices.getDisplayMedia 在网页上录制我的屏幕。但是当我重新加载页面时,它停止了。我想自动继续录制。可能吗? 也许我可以以某种方式使用本
我正在构建一个在线应用程序,点击一个按钮,我希望能够截取用户在他们的浏览器(我的应用程序)中看到的内容。我已经查看了许多 js 库,例如 html2canvas、CCapture 作为 dom-to-
我有兴趣获得 截图 来自用户,我正在使用 getDisplayMedia 用于捕获用户屏幕的 API: const constraints = { video: true, audio: false
我可以使用getDisplayMedia()吗?在生产中?我有点困惑,因为它说的是 W3C 编辑的草稿。这是什么意思? https://w3c.github.io/mediacapture-scree
我正在尝试在我的网站上实现错误报告程序。我的目标是用户在浏览问题时能够用声音描述问题并记录浏览器选项卡。错误报告将只是一个视频文件,可以通过电子邮件发送给我。 看来提议的navigator.media
我需要将用户显示媒体(屏幕截图)连接到 webRTC 应用程序。 以下代码用于启动屏幕捕获: navigator.mediaDevices.getDisplayMedia({video: true})
我们可以通过 navigator.mediaDevices.getDisplayMedia() 向屏幕或窗口请求媒体流.但是,这会立即提示用户决定使用哪种捕获方式。我需要检查浏览器/平台是否支持屏幕捕
我正在尝试构建一个可以捕获用户桌面的网络应用程序。我发现这个 Web api 应该可以完美地完成这项工作,但我似乎无法让它工作。现在,通过启用标志,最新版本的 Edge 和 Chrome 70 都应该
我想合并 getUserMedia 和 getDisplayMedia 流。我正在使用 MediaRecorder。当我从 getUserMedia 切换到 getDisplayMedia 然后 Me
我目前正在使用 chrome 开发屏幕捕获功能navigator.mediaDevices.getDisplayMedia我只能打开一个用户选择,用户可以从所有给定的显示媒体中进行选择。有没有办法绕过
我正在使用 getDisplayMedia 开发应用程序.当浏览器提示我共享我的屏幕/一个窗口并且我选择一个特定的窗口来共享时,该窗口现在突然聚焦并在我的其他窗口前面(特别是在浏览器窗口前面!)。我在
我可以在不选择要共享的应用程序的情况下关闭 getDisplayMedia({video:true}) 的 native 屏幕选择器吗?据我所知,如果正在共享的轨道停止,它会在 track.stop(
我正在尝试共享用户屏幕并需要使用 getDisplayMedia 但在项目编译期间出现错误 Property 'getDisplayMedia' does not exist on type 'Nav
我正在编写一个脚本来了解我的浏览器是否支持屏幕共享。我的脚本适用于除 Internet Explorer 之外的所有浏览器(Chrome、Opera、Firefox、Edge、Safari),但我不知
在我的 Angular 应用程序中,需要记录屏幕。我使用 navigator.mediaDevices.getDisplayMedia 来捕获屏幕。它在本地工作。但可能会在命令行中看到错误,例如 Pr
我是一名优秀的程序员,十分优秀!