为CEF 3增加应用程序共享功能

11 篇文章 12 订阅

以前如果想在Chrome中使用JS进行全屏幕/应用程序共享(navigator.getDisplayMedianavigator.mediaDevices.getUserMedia),需要额外安装一个插件。

好消息是从Chrome 70.0.3531.0开始,已经不再需要安装额外的插件就可以支持全屏幕/应用程序共享了。可以看这里:https://groups.google.com/forum/#!topic/discuss-webrtc/Uf0SrR4uxzk

而如果你的产品是基于CEF作为容器供用户来使用,那么就最好升级到与Chromium 70的正式版本:3538,于2018年9月发布。但是不幸的是,不知道出于什么原因,这个版本只提供了全屏幕共享,没有提供应用程序共享功能。那怎么办呢?我们只有对照Chromium的源码,在CEF中增加关于应用程序共享的部分,然后再自己编译一份出来。

编译好的支持应用程序共享的版本可以在我的博客置顶帖中找到下载。另外,修改的代码补丁,我在github上放了一份:
https://github.com/epubcn/cef_enhancement/tree/master/getDisplayMedia
注意只放了3578和3729的Windows和macOS版本,其他版本因没有需求就不做了。

注意,启动时需要增加以下两个启动参数(第二个参数在CEF的后续升级版本中将也不再需要):

–enable-media-stream
–enable-experimental-web-platform-features

然后在CEF中访问这个网址:https://webrtc.github.io/samples/src/content/getusermedia/getdisplaymedia/
点击下方的Start screen capture,就会发现弹出了选择全屏幕还是某个正在运行的应用程序的窗口了。
CEF_APP_SHARING

参考资料:
https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
https://peter.sh/experiments/chromium-command-line-switches/

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值