我正在尝试构建一个可以捕获用户桌面的web应用程序。我发现这个web api应该可以完美地完成这项工作,但我似乎无法使其工作。目前,最新版本的Edge和Chrome 70都应该通过启用标志来支持它,但在这两种浏览器上,如果我正在查看导航器对象,getDisplayMedia()
函数不在其中。我也试着调用这个函数,但我得到一个错误,说它不是一个函数(这证实了它实际上不在导航器中(。可能是什么问题?
提前感谢!
edit:这是我的javascript
function na() {
navigator.mediaDevices.getDisplayMedia({
video: {
mandatory: {
chromeMediaSource: 'desktop',
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720
}
}
}).then((stream)=>console.log(stream))
console.log(navigator)
}
na();
虽然还不可用,但getDisplayMedia可以是多填充的。这在这篇博客文章中有描述。在Chrome中,这需要一个扩展,所以如果你刚刚开始开发,最好等到getDisplayMedia在Chrome中可用(它应该很快就会在Chrome Canary中出现,没有标志(
请注意,您将旧的约束(从Chrome中的navigator.mediaDevices.getUserMedia获取桌面共享所需的约束(与navigator.midiaDevices.getDisplayMedia混合使用,这将不起作用。