-
個人主頁的背景音樂簡單添加!
2007-06-11 16:16:00如何给Dreamwaver做的网页加背景音乐<DIV style="MARGIN-BOTTOM: 6px; WORD-BREAK: break-all">如何给Dreamwaver做的网页加背景音乐</DIV> <DIV id=blogContent style="FONT-SIZE: 12px">
1. 贴rm,ra,ram类型的音乐,代码如下:
<embed width="0" height="0" type="audio/x-pn-realaudio-plugin" autostart="true" c src="您想播放的音乐文件地址">
2. 贴midi,asf,wma,asx类型的音乐,代码如下:
<embed autostart="true" loop="-1" c width="0" height="0" src="您想播放的音乐文件地址">
如何给Dreamwaver做的网页加背景音乐?在<head></head>之间加入代码:
<bgsound src="tz.mp3" loop=-1>,
其中SRC=你的音乐的路径,
LOOP后面的数字(正数)是你的音乐循环的次数,-1表示无限次循环
</DIV> -
关于js audio自动播放
2020-12-13 17:40:11最近公司宣传手册需要加一个背景音乐,需要用到audio标签并且自动播放,开始认为很简单,但是上手才发现浏览器对此做了有些限制。下面让我们一起去看看吧! 正文 Chrome的禁止更加人性化,它有一个MEI的策略,这个...前言
最近公司宣传手册需要加一个背景音乐,需要用到audio标签并且自动播放,开始认为很简单,但是上手才发现浏览器对此做了有些限制。下面让我们一起去看看吧!
正文
Chrome的禁止更加人性化,它有一个MEI的策略,这个策略大概是说只要用户在当前网页主动播放过超过7s的音视频(视频窗口不能小于200 x 140),就允许自动播放。
对于网页开发人员来说,应当如何有效地规避这个风险呢?
Chrome的文档给了一个最佳实践:先把音视频加一个muted的属性就可以自动播放,然后再显示一个声音被关掉的按钮,提示用户点一下打开声音。对于视频来说,确实可以这样处理,而对于音频来说,很多人是监听页面点击事件,只要点一次了就开始播放声音,一般就是播放个背景音乐。但是如果对于有多个声音资源的页面来说如何自动播放多个声音呢?
首先,如果用户还没进行交互就调用播放声音的API,Chrome会这么提示:
DOMException: play() failed because the user didn’t interact with the document first.
解决方法
废话不多说,直接贴代码
<script> // 为了防止第二次创建 let playState= true function testAutoPlay () { // 返回一个promise以告诉调用者检测结果 return new Promise(resolve => { if(playState){ let audio = document.createElement('audio'); audio.src = "音频地址" //循环播放,如果不需要可注释 audio.loop="loop" document.body.appendChild(audio); let autoplay = true; // play返回的是一个promise audio.play().then(() => { // 支持自动播放 autoplay = true; console.log("正常播放") }).catch(err => { // 不支持自动播放 console.log("不支持播放") autoplay = false; }).finally((e) => { resolve(autoplay); }); playState=false }else{ resolve(false) } }); } let audioInfo = { autoplay: false, testAutoPlay () { return testAutoPlay() }, // 监听页面的点击事件,一旦点过了就能autoplay了 setAutoPlayWhenClick () { function setAutoPlay () { // 设置自动播放为true audioInfo.autoplay = true; document.removeEventListener('click', setAutoPlay); document.removeEventListener('touchend', setAutoPlay); } document.addEventListener('click', setAutoPlay); document.addEventListener('touchend', setAutoPlay); }, init () { // 检测是否能自动播放 audioInfo.testAutoPlay().then(autoplay => { if (!audioInfo.autoplay) { audioInfo.autoplay = autoplay; } }); // 用户点击交互之后,设置成能自动播放 audioInfo.setAutoPlayWhenClick(); } }; // PC端 document.addEventListener('click', ()=>{ audioInfo.init(); }); // 移动端 document.addEventListener('touchend', ()=>{ audioInfo.init(); }); </script>
-
C#编程经验技巧宝典
2008-06-01 08:59:3343 <br>0061 树的实现 44 <br>3.2 排序 48 <br>0062 如何实现选择排序算法 48 <br>0063 如何实现冒泡排序算法 49 <br>0064 如何实现快速排序算法 50 <br>0065 如何实现插入排序算法 ... -
delphi 开发经验技巧宝典源码
2010-08-12 16:47:23第1章 开发环境 1 ...0295 如何将应用程序背景与桌面融合 191 0296 如何在屏幕最前面显示滚动字幕 192 0297 制作磁性窗体 193 0298 制作浮动窗口 194 0299 制作另类提示窗口 195 0300 将窗体... -
MATLAB GUI设计学习手记(罗华飞)【电子书籍+配套程序】
2019-02-28 10:30:39问题5 如何给数组元素排序 94 问题6 如何从文本中查找数值 96 问题7 如何验证邮箱名是否合法 97 问题8 如何验证用户名或密码是否合法 98 问题9 如何验证日期字符串是否有效 99 问题10 如何验证身份证号是否符合... -
ASP.NET开发实战1200例(第1卷).part2
2016-06-11 20:12:37实例157 给服务器控件加不存在的属性 260 实例158 动态使用表格 260 实例159 PlaceHolder容器控件的使用 262 实例160 设置Web窗体的默认焦点控件 263 实例161 设置Web窗体的默认按钮 264 实例162 应用ViewState保存... -
ASP.NET开发实战1200例(第1卷).part1
2016-06-11 20:07:19实例157 给服务器控件加不存在的属性 260 实例158 动态使用表格 260 实例159 PlaceHolder容器控件的使用 262 实例160 设置Web窗体的默认焦点控件 263 实例161 设置Web窗体的默认按钮 264 实例162 应用ViewState保存... -
ASP.NET开发实战1200例(第1卷).part3
2016-06-11 20:19:00实例157 给服务器控件加不存在的属性 260 实例158 动态使用表格 260 实例159 PlaceHolder容器控件的使用 262 实例160 设置Web窗体的默认焦点控件 263 实例161 设置Web窗体的默认按钮 264 实例162 应用ViewState保存... -
java源码包---java 源码 大量 实例
2013-04-18 23:15:26Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
Google Android SDK开发范例大全的目录
2010-03-26 09:49:401.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与ADTplug-in 2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发... -
java源码包2
2013-04-20 11:28:17Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
java源码包3
2013-04-20 11:30:13Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
Delphi开发范例宝典目录
2014-03-07 10:24:25实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体中的子窗体 63 实例055 向提示框中添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为... -
成百上千个Java 源码DEMO 4(1-4是独立压缩包)
2017-03-29 17:40:59Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、... -
成百上千个Java 源码DEMO 3(1-4是独立压缩包)
2017-03-29 17:39:54Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part1
2016-06-16 20:55:43实例015 使用“///”标记给代码段添加说明 2.2 运算符的使用 实例016 使用引号运算符进行赋值 实例017 使用算术运算符开发简单计算器 实例018 使用“^”运算符对数字进行加密 实例019 巧用位移运算符获取汉字... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part2
2016-06-16 20:59:52实例015 使用“///”标记给代码段添加说明 2.2 运算符的使用 实例016 使用引号运算符进行赋值 实例017 使用算术运算符开发简单计算器 实例018 使用“^”运算符对数字进行加密 实例019 巧用位移运算符获取汉字... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part3
2016-06-16 21:02:21实例015 使用“///”标记给代码段添加说明 2.2 运算符的使用 实例016 使用引号运算符进行赋值 实例017 使用算术运算符开发简单计算器 实例018 使用“^”运算符对数字进行加密 实例019 巧用位移运算符获取汉字... -
java源码包
2015-12-01 16:29:37Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、... -
JAVA上百实例源码以及开源项目
2016-01-03 17:37:40Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
Android开发权威指南.(人民邮电.李宁).pdf
2016-06-01 12:41:2416.1.1 如何使用传感器 405 16.1.2 加速度传感器(Accelerometer) 409 16.1.3 重力传感器(Gravity) 409 16.1.4 光线传感器(Light) 410 16.1.5 陀螺仪传感器(Gyroscope) 411 16.1.6 方向传感器(Orientation... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24实例015 使用“///”标记给代码段添加说明 18 2.2 运算符的使用 20 实例016 使用引号运算符进行赋值 20 实例017 使用算术运算符开发简单计算器 21 实例018 使用“^”运算符对数字进行加密 22 实例019... -
Android开发权威指南(第一版扫描版).李宁.pdf
2014-03-29 18:38:5416.1.1 如何使用传感器 405 16.1.2 加速度传感器(Accelerometer) 409 16.1.3 重力传感器(Gravity) 409 16.1.4 光线传感器(Light) 410 16.1.5 陀螺仪传感器(Gyroscope) 411 16.1.6 方向传感器(Orientation... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55实例015 使用“/”标记给代码段添加说明 18 2.2 运算符的使用 20 实例016 使用引号运算符进行赋值 20 实例017 使用算术运算符开发简单计算器 21 实例018 使用“^”运算符对数字进行加密 22 实例019 巧用位移运算符... -
电脑常见问题与故障1000例(高清PDF中文版)
2011-05-30 07:13:36226.播放MIDI音乐时有杂音 227.超频导致声卡不能正常使用 228.CPU超频导致声卡无声 229.声卡的回放效果不好 230.声音播放间断 231.电源管理导致噪声 232.声卡发出的噪声过大 233.音箱中发出噪声 234.麦克风录音时有... -
Java开发技术大全(500个源代码).
2012-12-02 19:55:48示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 ... -
有jQuery背景,该如何用AngularJS编程思想 http://blog.jobbole.com/46589/ AngularJS在线教程 http://each.sinaapp.com/angular angular学习笔记 http://www.zouyesheng.com/angular.html React 地址 ...
收藏数
29
精华内容
11
-
C和C++课程
-
MySQL 视图
-
MySQL 高可用(DRBD + heartbeat)
-
java集合为空_检查Java集合通用类型是否为空集合
-
有关java的竞赛_Java竞赛可能会用到的东西
-
重置winsock目录解决不能上网的问题
-
Element UI组件指南.pdf
-
edrawmanual-cn.zip
-
九种跨域方式实现原理
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
Python函数库深度详解(1)
-
MySQL 高可用工具 heartbeat 实战部署详解
-
java集合源码分析_Java集合之ArrayList源码分析
-
java 多态 设计模式_多态与设计模式之我的理解
-
飞行管理系统分配2-源码
-
java集合源码分析_Java集合干货——ArrayList源码分析
-
MySQL Router 实现高可用、负载均衡、读写分离
-
microsoft system clr types for sql server 2012.7z
-
java难题_挑战java难题!!!高手进来