gpt4 book ai didi

javascript - 指示 getUserMedia 使用最佳可用相机分辨率

转载 作者:可可西里 更新时间:2023-11-01 13:04:22 26 4
gpt4 key购买 nike

我正在使用 getUserMedia 函数从网络摄像头录制视频。一切正常,除了它仅以 640x480 分辨率录制,当我刚刚指定 video: true 作为约束时。

如果我按如下方式设置约束,我现在可以在我的笔记本电脑上获得更好质量的录音:

var mediaConstraints = {
audio: true,
video: {
width: { min: 1280 },
height: { min: 720 }
}
};

但是,如果另一台设备的分辨率高于 1280x720,或者能力更低怎么办?

我尝试将 min 设置得非常低,将 max 设置得非常高;但它只是默认为 640x480,或者根本不显示任何内容。我也尝试设置所需的大小,但正如预期的那样 - 我只是最终得到了那个值。如果我将 desired 设置得非常高(因此它会选择最接近的可用值),我最终什么也得不到。

所以问题是,如何设置约束以获得相机可以提供的最大分辨率?

最佳答案

请注意 min 表示“最小允许值”,并且由于大多数浏览器默认为 640x480,因此低于该值的值不会有太大影响。

根据规范,只要要求高分辨率,您应该得到相机可以产生的最接近的分辨率。例如:

var mediaConstraints = {
audio: true,
video: { width: 2880, height: 1800 }
};

这适用于 Firefox,也可能适用于 Edge(我还没有尝试过)。

参见 this other answer详细了解为何如此有效。

Chrome(尽管他们正在努力)仍然依赖于 adapter.js不幸的是,标准约束语法的 polyfill,并且 polyfill 有一些限制,就像你在这里遇到的那样。

如果您使用 adapter.js ,您可以在 Chrome 的 Web 控制台中查看它 native 使用的旧非标准语法。使用该语法可以构建一系列连续更宽的最小范围,并让算法以这种方式优先选择更高的值。

关于javascript - 指示 getUserMedia 使用最佳可用相机分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34789761/

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