我为chrome创建了一个DesktopCapture扩展,以获取用于桌面捕获的chromeMediaSourceId。 当我在localhost上运行时,扩展会将chromeMediaSourceId成功返回到主html页面。
以下是我在约束中得到的结果:
{
"audio":false,
"video":{
"mandatory":{
"chromeMediaSource":"desktop",
"maxWidth":1920,"maxHeight":1080,
"chromeMediaSourceId":"ouIW7wIZYullGDpZid/S2w=="
},
"optional":[]
}
}
但是当我打电话时
navigator.webkitGetUserMedia(screen_constraints, function (stream) {
document.querySelector('video').src = URL.createObjectURL(stream);
}, function (error) {
console.log(error);
});
我收到以下错误
NavigatorUserMediaError {constraintName: "", message: "", name: "InvalidStateError"}
答案 0 :(得分:-1)
对我来说唯一看起来很奇怪的是
{
"audio":false,
"video":{
"mandatory":{
"chromeMediaSource":"desktop",
"maxWidth":1920,"maxHeight":1080,
"chromeMediaSourceId":"ouIW7wIZYullGDpZid/S2w=="
},
"optional":[]
}
}
应该是
{
audio:false,
video:{
mandatory:{
chromeMediaSource:"desktop",
maxWidth:1920,maxHeight:1080,
chromeMediaSourceId:"ouIW7wIZYullGDpZid/S2w=="
},
optional:[]
}
}
不同之处在于音频,虚假,视频,chromeMediaSource,......不应该在引号中。