CEF 无法自动播放视频的问题

在使用CefSharp在WPF应用中实现YouTube播放时,遇到新版CefSharp由于Chromium的Autoplay Policy导致视频无法自动播放。该政策只允许静音自动播放或在满足特定条件时生效。为解决此问题,可以在初始化CEF时设置禁用相关政策,允许自动播放。

问题

在WPF上用CefSharp 做Youtube 播放的时候发现,在新版CefSharp 中,YouTube 播放器的playVedio方法在载入的时候无法调用,根据相关API调用无法自动播放,但是通过用户点击或者控制台输入之后调用均无问题。

原因

经过调查,是在Chromium 66之后新添加了 Autoplay Policy,该政策行为如下:

  1. 允许静音自动播放。
  2. 在桌面客户端上,用户 Media Engagement Index 达到一定门口(就是用户之前开启声音播放过此视频)。
  3. 顶级的 Frames 可以有一个 自动播放权限代理 以使得 iframes 可以带声音自动播放
    相关政策可以在此查看

此问题在Stack Overflow的相关讨论

解决

可以直接在CEF 初始化的时候,设置是否启动相关policy,设置方法如下:

settings.CefCommandLineArgs["autoplay-policy"] = "no-user-gesture-required"; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值