为什么videojs不能仅在Chrome中使用?

约翰

我在React中使用video.js。我的问题是视频仅在Chrome中不能正常播放。视频已加载,但不会自动播放。它可以在Firefox,Microsoft Edge甚至Internet Explorer中运行。仅当我打开开发人员工具后,视频才会在Chrome中启动。您曾经遇到过这样的问题吗?我的代码很简单:

<video data-setup='{"loop": true, "autoplay": true, "loadingSpinner": false}' 
className="video-js vjs-default-skin article-video">
    <source src={this.state.video}/>
</video>

国家根据innerWidth加载不同的视频。

编辑:

静音的属性允许Chrome自动播放视频:

<video muted="muted" data-setup='{"loop": true, "autoplay": true, "loadingSpinner": false}' 
className="video-js vjs-default-skin article-video">
    <source src={this.state.video}/>
</video>
尼尔森·奥瓦洛

目前,chrome正在阻止html5视频中的自动播放,因此默认情况下,它们将不允许自动播放。了解更多关于这里的变化...

以下是他们的自动播放政策:

Chrome的自动播放政策很简单:

  • 始终允许静音自动播放。
  • 在以下情况下,允许自动播放声音:
    • 用户已与域进行了交互(单击,点击等)。
    • 在台式机上,已经超过了用户的“媒体参与度索引”阈值,这意味着该用户以前曾播放有声视频。
    • 在移动设备上,用户已[将该网站添加到其主屏幕]。
  • 顶部框架可以将自动播放权限委派给其iframe,以允许自动播放声音。

关于在开发人员工具打开的情况下启用自动播放的原因:含糊地回答了这一问题:

开发人员开关

作为开发人员,您可能需要在本地更改Chrome自动播放策略的行为,以根据用户的参与度来测试您的网站。

  • 您可以通过在chrome:// flags /#autoplay-policy上将Chrome标志“自动播放策略”设置为“不需要用户手势”来决定完全禁用自动播放策略。这样,您就可以像测试用户强烈参与您的网站一样测试您的网站,并且始终允许播放自动播放功能。

  • 您还可以通过禁用MEI,将自动播放策略应用于Web Audio以及总体MEI最高的站点是否默认为新用户播放自动播放,来确定禁止播放自动播放。这可以通过三个内部开关来完成

    chrome.exe --disable-features = PreloadMediaEngagementData,AutoplayIgnoreWebAudio,MediaEngagementBypassAutoplayPolicies。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们不能仅在Redux中使用GraphQL

为什么我不能在Chrome中使用Google搜索键盘导航?

Flutter,Bloc,为什么仅在MapEventToState中使用Stream

为什么不能在data.table中使用`predict`?

为什么复数文字不能在clang中使用?

为什么不能在表达式中使用...语法?

为什么我不能先在INFORMATIONIX子查询中使用

为什么notifyAll()不能在线程实例中使用?

为什么不能在 for 循环中使用类型提示?

为什么我不能在开关案例中使用枚举?

为什么不能在 if 语句中使用空指针?

为什么不能在let或run中使用continue

为什么我不能在Swift中使用'object == nil'?

为什么我不能在CSS Variable中使用rgba?

为什么我不能在界面中使用默认方法?

为什么不能在函数中使用范围?

为什么不能在QLineEdit对象中使用StyleSheet?

为什么我不能在匿名类中使用<Class> .this?

为什么我不能在TRecord中使用Variable?

为什么我不能在列表中使用匿名函数?

为什么限制不能在拆分方法中使用?

为什么不能在分配中使用Unicode字符√和??

为什么不能在PowerShell中使用“查找”?

为什么不能在DELETE语句中使用别名?

为什么不能在递归函数中使用yield

为什么通配符不能在Elasticsearch中使用`@`?

为什么我不能在 Spark 中使用 combineByKey?

为什么我不能在Spark的mapPartitions中使用foreach

为什么不能在写入主机中使用$ _?