Javascript Firefox 22使用';屏幕';作为设备源
Firefox22中的WebRTC支持引起了一些讨论。这是为了解Firefox开发的人准备的:Firefox目前是否支持桌面屏幕捕获 Chrome 26+确实存在该技术,该技术为屏幕捕获提供了实验支持(使用“屏幕”作为设备源);实现这一点的代码(片段)是:Javascript Firefox 22使用';屏幕';作为设备源,javascript,html,firefox,webrtc,getusermedia,Javascript,Html,Firefox,Webrtc,Getusermedia,Firefox22中的WebRTC支持引起了一些讨论。这是为了解Firefox开发的人准备的:Firefox目前是否支持桌面屏幕捕获 Chrome 26+确实存在该技术,该技术为屏幕捕获提供了实验支持(使用“屏幕”作为设备源);实现这一点的代码(片段)是: // select any supported getUserMedia function navigator.getMedia = (navigator.getUserMedia ||
// select any supported getUserMedia function
navigator.getMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
// if getUserMedia is not supported, do nothing
if( !navigator.getMedia ) return;
// request for user media
navigator.getMedia(
{
video : {
mandatory : {
// request 'screen' as a source media
chromeMediaSource : 'screen'
}
}
},
// success
function( localMediaStream )
{
// process local media stream...
},
// failure
function( error )
{
// error handling
});
查看W3C文档,对象
MediaSourceConstraints、MediaTrackConstraints、MediaTrackConstraintSet
尚未标准化。这可能只是因为API太模糊,无法在Firefox产品中显示此功能。知道当前的支持状态就好了。不,Firefox还没有像Chrome那样添加屏幕共享:这在Firefox中现在是可能的,但是由于安全问题,支持隐藏在某些首选项后面。特别是media.getusermedia.*
首选项下的about:config
这说明了其中一些问题:
现在我们重新设计了
,不再在屏幕上绘制完整的路径,情况就好了。我们在绘制跨原点图像和
s等方面仍然存在问题
即使用户选择加入,我也会担心这样的情况:“用户在一个选项卡中加载应用程序页面A,在另一个选项卡中加载应用程序页面B,页面B请求用户允许屏幕共享页面A,该页面看起来很好,用户接受,然后应用程序将FB或gmail的
或任何内容交换到页面A中并获取内容
虽然在发布频道中默认情况下,media.getusermedia.screensharing.enabled
当前为true
,但实际上只允许在media.getusermedia.screensharing.allowed\u域下列出的域使用它
如果您的域在允许列表中,您可以使用视频
属性中的以下键来使用它
video: {
mozMediaSource: "screen",
mediaSource: "screen"
}
Mozilla在Firefox Nightly和Firefox Developer Edition列出的一个域上托管一个。如果您使用这两个版本的Firefox,您可以看到它的运行。或者您可以将该域添加到about:config
下的白名单中,并在发行版和测试版频道中使用它。谢谢!我知道前面的答案uld在某些时候已经过时。感谢您的回答。如何才能获得窗口选择对话框?如果我绕过权限,该对话框将不会显示。如果我不绕过权限,getUserMedia在窗口/屏幕调用中完全失败,但仍然适用于相机。@Brad绕过权限是什么意思?@AlexanderO'Maraabout:config
设置为true
@Brad哦,我知道发生了什么。显然,这个偏好完全禁用了权限对话框,无法选择要共享的窗口/屏幕/应用程序(尽管奇怪的是,我曾经让屏幕正常工作过一次)。这可能是一个未被注意到的逻辑错误,因为该功能不受官方支持(这对浏览器来说是一个危险的功能)。我想你可以向Mozilla提交一份关于它的错误报告。在Firefox 27中修复:-)