Firefox 22 mozGetUserMedia使用'屏幕'作为设备源
Firefox 22 mozGetUserMedia using 'screen' as device source
对于Firefox 22中的WebRTC支持,人们议论纷纷。这是为了解Firefox开发的人准备的:目前Firefox是否支持桌面屏幕捕获?
Chrome 26+确实存在这项技术,它为屏幕捕获提供了实验支持(使用"屏幕"作为设备源);实现这一点的代码(片段)是:
// 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, MediaTrackConstraintsSet
尚未标准化。这可能只是因为API太模糊了,无法在Firefox产品中显示此功能。如果能知道目前的支持情况就好了。
这在Firefox中是可能的,但出于安全考虑,支持隐藏在一些首选项后面。特别是CCD_ 3下的CCD_。
这篇关于Mozilla错误报告的评论说明了其中的一些担忧:
现在我们重新设计了
<input type="file">
,使其不在屏幕上绘制完整的路径,情况有所好转。我们在绘制交叉原点图像和<iframe>
s等方面仍然存在问题。即使用户选择加入,我也会担心这样的情况:"用户将应用程序页面A加载到一个选项卡中,应用程序页面B加载到另一个选项卡,页面B请求屏幕共享页面A的权限,这看起来很好,用户接受了,然后应用程序将FB或gmail的
<iframe>
交换到页面A中并获取内容。"
虽然media.getusermedia.screensharing.enabled
目前在发布通道中默认为true
,但实际上只有那些被列入media.getusermedia.screensharing.allowed_domains
白名单的域才允许使用它
如果您的域在允许列表中,您可以使用video
属性中的以下密钥来使用它。
video: {
mozMediaSource: "screen",
mediaSource: "screen"
}
Mozilla在一个被Firefox Nightly和Firefox Developer Edition列入白名单的域上托管了一个getUserMedia测试页面。如果你使用这两个版本中的任何一个,你都可以看到它在运行。或者,您可以将域添加到about:config
下的白名单中,并在发布和测试频道中使用它。
不,Firefox还没有像Chrome那样添加屏幕共享:https://bugzilla.mozilla.org/show_bug.cgi?id=742832
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如何打开/移动主屏幕左侧的浏览器窗口
- 如何在屏幕外或项目的中心视口中跟随YUI驱动的动画
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 调整屏幕大小时更改属性值
- 检测非移动页面上的移动设备屏幕宽度和高度
- 更改屏幕上对象的宽度调整大小
- 获取屏幕截图并在电子邮件中发送的按钮
- 如何将jquery函数仅应用于大屏幕
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 将第二窗口移动到第二屏幕或特定屏幕