当前位置: 首页 > news >正文

浏览器自动播放策略

在项目中实可能会有这样的需求:比如现进入某个页面,或者我们连接了websocket符合条件后,要进行自动播放音频或者视频。

在实现这个需求之前,我们要先了解一下浏览器的自动播放策略,浏览器为了改善用户体验,对自动播放做了严格限制!!!这个大家也可以自行去查找一下相关内容,这里就简单说一下

比如我们的video标签,设置了视频资源路径src,也设置了autoplay,但是它并没有播放,然后我们再将其mute属性设置为true,就可以自动播放了,但是没有声音!!!音频也是一样的,我们设置对应的音频资源src,也设置了autoplay,它不会自动播放的。想让其有声音,就必须是用户已经与当前域进行了交互,比如click事件

需求解决:

了解上面的内容后,想实现我们自动播放的需求,那我们可以换个角度思索来实现:

首先是在系统第一次加载完成后,我们就自动往document.body中appendChild一个video元素或audio元素,这个时候我们只设置mute为true即可(也就是默认静音),把元素先加到dom树中。

第二步就是我们要在进入我们的需求页面之前,在用户的某次操作中修改我们开始加入到dom树中的video/audio标签的mute属性为false(就是在用户无感知的情况下来解除静音),比如:登录事件、或者用户在进入我们的需求页面之前一定会触发的行为操作都可以,这个看大家各自项目的需求。

第三步就是在我们的需求那里需要播放声音的时候,直接设置src(视频/音频 路径),然后调用play方法即可,就可以实现自动播放。

我这里以音频为例,下面是我们封装的一个工具类@/utils/AutoPlayer.ts:<

http://www.lryc.cn/news/614930.html

相关文章:

  • OpenAI发布的GPT-5 更新了哪些内容,它的核心能力有哪些?AI编码能力这么强,前端程序员何去何从?
  • FreeRTOS学习笔记:任务通知和软件定时器
  • SpringBoot学习日记 Day6:解锁微服务与高效任务处理
  • 39.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--调整发布脚本
  • 24SpringCloud黑马商城微服务整合Seata重启服务报错的解决办法
  • Web3: DeFi借贷的安全基石, 了解喂价与清算机制的原理与重要性
  • 递归---记忆化搜索
  • 八、Linux Shell 脚本:变量与字符串
  • ESP32之wifi_HTTP
  • 商品、股指及ETF期权五档盘口Tick级与分钟级历史行情数据多维解析
  • 网盘短剧资源转存项目源码 支持垮克 带后台 附教程
  • 深入解析 Apache APISIX 在微服务网关中的性能优化实践指南
  • LeetCode 面试经典 150_数组/字符串_分发糖果(15_135_C++_困难)(贪心算法)
  • Swift 实战:秒算两个数组的交集(LeetCode 349)
  • 海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp)
  • 基于开源AI大模型、AI智能名片与S2B2C商城小程序的零售智能化升级路径研究
  • Selenium使用超全指南
  • Linux运维新手的修炼手扎之第27天
  • 【无标题】AI 赋能日常效率:实用案例与操作心得分享
  • vulhub-Beelzebub靶机
  • 【LeetCode 热题 100】(五)普通数组
  • 版本控制的详细说明介绍(已有github账号版)
  • 【数学归纳法】证明数列极限
  • 模拟人脑处理文本——从分句到分词,从段落到时间线叙事
  • 小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音
  • 力扣前200题字符串总结
  • Effective C++ 条款31: 将文件间的编译依存关系降至最低
  • Matlab系列(004) 一 Matlab分析正态分布(高斯分布)
  • DBSCAN聚类算法实战全解析
  • 制作 VSCode 插件