百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

html5背景音乐不自动播放解密(原创)

zhezhongyun 2024-12-14 16:06 25 浏览

在切图网一个客户项目中,用到了背景音乐,采用了html5 audio标签, 并且设置了 autoplay 自动播放,在PC上正常,但是一到手机下就无法自动播放。

即便使用JS ,调用audio 对象的播放方法 play() 也不能自动播放! 这是为什么呢?

于是打破砂锅问到底的决心,做了好多种demo,例子

http://m.slicy.cn/bg-music.html

测试,苹果、安卓还是不行,最后发现真相的我,眼泪掉下来 。 原因在这:

为了防止不必要的自动播放浪费流量,手机网页访问带有audio的页面是不会自动播放的。

Safari屏蔽了autoplay,必须由用户交互事件触发,因为autoplay在移动网络环境下可能会造成用户流量费剧增

下面是引自Safari Reference

In Safari on iPhone OS (for all devices, including iPad), where the

user may be on a cellular network and be charged per data unit,

autobuffering and autoplay are disabled. No data is loaded until the

user initiates it. This means the JavaScript play() and load() methods

are also inactive until the user initiates playback, unless the play()

method is triggered by user action.

相关推荐

快速掌握Kafka系列《三》配置项总结

往期系列文章:1.快速掌握Kafka系列《一》基本概念入门2.快速掌握Kafka系列《二》常用操作命令汇总目录一、前言二、broker配置2.1三个基本配置2.2其它配置2.3...

智能私有知识库RAG企业级解决方案:开源工具AnythingLLM实操指南

点击上方“顶层架构领域”,关注精彩与你分享在数据安全和隐私保护日益受到重视的背景下,私有化部署大模型的需求日益增长。MintplexLabsInc.推出的开源项目AnythingLLM,为个人...

Zabbix随笔:更换自定义logo及内容

喝杯,安静坐下写个文章。之前关于Zabbix更换logo这事其实比较复杂,随着5.4版本不断迭代,Zabbix官方也是提供了相关方法,相比之前确实容易了不少,但依然是通过命令行来实现。正文...

Windows系统CMD-DOS命令大全及CMD命令与运行命令的区别

Windows系统CMD-DOS命令和开始→运行(win+R)命令的区别首先要知道运行窗口实际是运行系统文件夹下的文件。这样就有区别了,cmd分为外部命令和内部命令。内部命令是cmd自带的命令,例如...

MySQL 5.7 学习: 配置参数(mysql 配置参数调优)

背景:继上次介绍初识MySQL5.6新功能、参数完之后,刚好MySQL5.7又GA了,在官方测试里看到,MySQL5.7在功能、性能、可用性、安全和监控上又提升了很高。现在看看和MySQL5...

Windows命令行command的Shell命令详细解析和语法

CMD命令大全及详细解释和语法CMD命令大全及详细解释和语法MicrosoftWindowsXP[版本5.1.2600]有关某个命令的详细信息,请键入HELP命令名ASSOC显示或修改文...

JShaman本地部署“JS混淆加密”性能测试

JShaman是知名JS混淆加密平台,支持本地化部署。本文简单测试本地部署JShaman的JS混淆加密性能。测试JS文件:40.1cfc40763dac0fe9c500.js大小:2.18KBJSha...

那些年使用Hive踩过的坑(hive.one)

1.概述这个标题也是用血的教训换来的,希望对刚进入hive圈的童鞋和正在hive圈爬坑的童鞋有所帮助。打算分以下几个部分去描述:Hive的结构Hive的基本操作HiveSelectHiveJoin...

「技术分享」音乐-CD播放介绍(cd播放是什么意思)

音乐(deepin-music)是deepin自研的一款音频播放软件,能广泛支持播放本地或外部媒介中的音频文件,其中就包括对CDDA(CompactDisc-DigitalAudio)标准的支持。...

超级全的宝马模块缩写、常用缩写、中英对照,值得收藏

AAustauschbar可替换通过零件号码下一行ABAirbag安全气囊ABEAllgemeineBetriebserlaubnis普通操作许可证ABSAnti-Blockie...

深入探讨HBASE(深入探讨石菖蒲的功效与作用)

HBASE基础1.HBase简介HBase是一个高可靠、高性能、面向列的,主要用于海量结构化和半结构化数据存储的分布式key-value存储系统。它基于GoogleBigtable开源实现,但二者...

小容量硬盘福音:Win10新增Compact系统压缩功能

IT之家讯好消息,在Win10中,微软新添加了Compact系统压缩功能,可以对所有的系统文件进行压缩,它有点类似于之前Win8.1(withupdate1)中的wimboot功能,不过,Com...

实现前端传递参数进行加密,Java后端接收数据解密

下面为你介绍前端传递参数加密、Java后端接收数据解密的实现方法,这里以常见的AES对称加密算法为例。前端加密(使用JavaScript和CryptoJS库)CryptoJS是一个强大...

CSS面试题:CSS布局的问题面试题(div css面试题)

1.实现两栏布局的方式你知道那些方法?(其实就是我们经常在开发中使用到的'左边宽度固定右边宽度自适应')那我们应该如何回答呢?1.1下面是回答该问题的一种思路:1.实现两栏...

CSS calc使用(css中calc是什么意思)

calc使用用于动态计算长度值。需要注意的是,+、-运算符前后都需要保留一个空格,例如:width:calc(100%-10px);任何长度值都可以使用calc()函数进行计算;calc(...