我想用JS从摄像头上得到一段视频,但没有镜头。
消息:
DOMException:无法启动视频源
App.js
const video = document.getElementById("video");
function startVideo() {
navigator.getUserMedia(
{
video: {}
},
stream => (video.srcObject = stream),
err => console.log(err)
);
}
startVideo();
index.html
...
<body>
<video id="video" width="720" height="540" autoplay muted></video>
</body>
...
谢谢你的帮忙
发布于 2020-03-25 20:58:37
TLDR:我已经测试了您的代码,并对其进行了一些更改:
https://codepen.io/puradawid/pen/PoqxzPQ
看起来问题就在这里:
navigator.getUserMedia({
video: {}
},
stream => { video.srcObject = stream },
err => console.log(err)
);
对于文档,navigator.getUserMedia
是不推荐的,支持它的是navigator.mediaDevices.getUserMedia
。但是,更改这个值并不能解决正确的问题,即回调函数。此方法返回由Promise
控制的.then()
,因此更改它使我能够以代码方式看到我的脸:
navigator.mediaDevices.getUserMedia({
video: true
}).then(
stream => (video.srcObject = stream),
err => console.log(err)
);
发布于 2020-12-01 02:13:06
如果有其他人有这个问题,而其他没有任何帮助。确保您的相机没有被不同的软件/浏览器索取/使用。
发布于 2020-09-16 16:29:47
在Windows 10中,进入设置->隐私->应用程序权限(左侧)->麦克风->启用‘允许应用程序访问您的麦克风’之后,重试您的JS program....It将工作!!
https://stackoverflow.com/questions/60837628
复制相似问题