尝试使用 getUserMedia 以最高分辨率预览相机时,Galaxy A50 出现黑屏

问题描述

我正在构建一个项目,最终用户可以使用他的后置摄像头以多种语言动态翻译文本。

当我以 16/9 的最大分辨率打开后置摄像头时,我的个人手机(三星 Galaxy Note 20)以 4032x2268 的分辨率打开并在视频标签下显示预览,我可以提取图像发送给分析我的服务器。当我使用我妻子的手机(三星 A50)时,拍摄的分辨率为 4128x2322,但预览中没有任何显示...(全黑预览)。

但是,当我尝试从该流中获取图像时,它起作用了!!谁能解释一下这怎么可能,或者我怎么能检测到视频标签的预览是全黑的?

这是导致此问题的 HTML/JS 代码(所有测试均在 chrome 上完成)。

JS:

const video = document.querySelector('#video');

let constraints = { video: {
  frameRate: 15,height: { min: 480,ideal: 10000,max: 10000},aspectRatio: 1.7777777778
}}

navigator.mediaDevices.getUserMedia(constraints).then((stream) => {
  video.srcObject = stream;
})
  .catch((err) => {
  alert(err);
});

HTML 部分:

<video style="width: 45%" id="video" autoplay playsinline></video>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...