前端视频无法自动播放的问题,基于Chrome浏览器的自动播放策略原理,详细解释加了autoplay属性之后视频仍然不能自动播放的问题,并提供了二种主流的解决方法

文章介绍了Chrome浏览器的自动播放策略,旨在保护用户体验。策略包括静音模式下的自动播放和媒体参与度考量。当用户未与网站交互或媒体参与度不足时,视频无法自动播放。解决方案包括引导用户交互和先静音播放。提供了JavaScript代码示例来应对这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一,什么是Chrome浏览器的自动播放策略?(原理讲解,懂了原理解决问题就会非常简单)

1.生活场景中的案例

2.Chrome自动播放策略

3.什么是媒体参与度 

二: 案例演示(无法播放的情况)

1.使用autoplay属性

2.我们使用js来控制视频自动播放

3.这究竟是为什么

三.解决方案

1.引导用户进行交互

2.先静音播放,让用户自己控制声音


一,什么是Chrome浏览器的自动播放策略?(原理讲解,懂了原理解决问题就会非常简单)

1.生活场景中的案例

试问一下,如果你正在上班摸鱼准备刷抖音或者B站时,但是忘记了调小声音或是忘记了带耳机,突然的视频声音放出来会不会让你特别尴尬,旁边可都是人看着呢,而且你要是放了个正常的视频还好,不然的话,纯纯大社死有咩有。

所以呢,在2018年Chrome就提出了这种自动播放的策略,主要是为了照顾用户的体验感。

2.Chrome自动播放策略

  • 始终允许静音模式下自动播放

  • 在以下的情况中,带声音播放会被允许:

    ①用户已经与当前的域进行了交互(也就是click,tap事件)。

    ②在桌面设备上,用户的媒体参与度指数阈值已经超过,这意味着用户之前播放过有声视频。

    ③用户已经将网站添加到移动设备上的主屏幕或允在桌面上安装了PWA。

  • 顶部帧可以将自动播放权限委派给其iframe,来允许自动播放声音

3.什么是媒体参与度 

媒体参与度(Media Engagement)是指用户与媒体内容进行互动的程度,可以通过多个指标来衡量。这些指标主要包括观看时间、观看率、转化率、交互行为等。Chrome基于这个媒体参与度有一套自己算法,我们可以通过:chrome://media-engagement/ 查看

二: 案例演示(无法播放的情况)

1.使用autoplay属性

就使用一个盒子里面放一个video标签并且加上autoplay属性

<div class="box">
    <video src="./img/_12084f25eab2e6978b505b0520b978b-1-64.MP4" autoplay></video>
  </div>

可以看到虽然我们设置了autoplay属性但是视频还是不能播放(如果你能播放,你可以试着刷新几次看看,他就不能自动播放了,具体原因暂且未知,总之我们必须要保证它每次都能按照我们的需求来才行)

这时我们可以看一下控制台有没有报错

 可以看到控制台是已经报错了,这个报错信息大

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lee哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值