gpt4 book ai didi

javascript - 通过 `getDisplayMedia` 检查浏览器/平台是否支持屏幕截图

转载 作者:行者123 更新时间:2023-12-01 15:03:36 26 4
gpt4 key购买 nike

我们可以通过 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().mediaSourcetrue在这两种情况下。最后是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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com