web端设置的分辨率是19201080,实际采集到的只有1280720.
注:macOS系统的intel系列电脑,虽然检测到的是19201080,但是intel芯片限制了采集最高到1280720(720P)
可通过下面的方法检测浏览器支持的最大分辨是多少:
async function getMaxResolution() {
try {
// 枚举所有媒体设备
const devices = await navigator.mediaDevices.enumerateDevices();
const videoDevices = devices.filter(device => device.kind === 'videoinput');
if (videoDevices.length === 0) {
console.error('没有找到视频输入设备');
return;
}
// 选择第一个视频输入设备
const selectedDevice = videoDevices[0];
// 请求访问摄像头并获取其能力
const stream = await navigator.mediaDevices.getUserMedia({
video: { deviceId: selectedDevice.deviceId }
});
// 获取视频轨道
const track = stream.getVideoTracks()[0];
const capabilities = track.getCapabilities();
// 打印设备能力
console.log('Device Capabilities:', capabilities);
// 获取最大宽度和高度
const maxWidth = capabilities.width && capabilities.width.max ? capabilities.width.max : null;
const maxHeight = capabilities.height && capabilities.height.max ? capabilities.height.max : null;
console.log('Max Resolution:', maxWidth, 'x', maxHeight);
// 停止并释放媒体流
stream.getTracks().forEach(track => track.stop());
return { maxWidth, maxHeight };
} catch (error) {
console.error('Error accessing media devices or getting capabilities:', error);
}
}
// 调用函数
getMaxResolution();
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。