切图网一个客户项目中,用到了背景音乐,采用了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 theuser 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.
、插入音乐视频的代码
在网页中插入播放声音(如mp3等)、AVI动画和电影文件(如MPG等)的代码:
在代码窗口中的<body>和</body>之间插入以下代码:
<Embed src="url"width="宽度"height="高度"AUTOSTART="TRUE│false" LOOP="TRUE"></Embed>
【注解】
<EMBED…………………起始标记
SRC="url"……………源文件名
width="450"…………播放器的宽度
height="380"…………播放器的高度
HIDDEN="TRUE"………隐藏方式(对播放声音文件有用,对播放视频无用)
AUTOSTART="TRUE"……自动播放
autostart="false"……不自动播放,点击播放按钮后才播放。
LOOP="TRUE"…………循环播放
NAME="MySound"………嵌入对象名
</EMBED>………………结束标记
【例3】打开网页并点击播放器的播放按钮后才播放视频文件kkk.mpg:
<Embed src="kkk.mpg"width="450"height="380" autostart="false" ></Embed>
【技巧】此法对制作课件特别有用,可在网页当前页播放视频动画。但是,打开网页时播放器总在网页的左侧,如何定位播放器的位置呢?其实插入此代码可以在设计视图中利用层来完成,实现方法是:在DW中的设计视图,插入层,鼠标定位于层内,在层内插入代码(按右键\点插入HTML,在弹出的“插入HTML<>”窗口中的括号<>中间输入代码。如果要编辑修改代码,这样做:右击标签\编辑标签。)。通过移动层就可以准确定位播放器的位置了。
【视频格式转换】用超级解霸或会声会影可将VCD中的某个视频文件(.DAT)转换为视频文件(.mpg)。
【例4】打开网页后自动播放(就象背景音乐)声音文件mlh.mp3:
<Embed src="mlh.mp3" HIDDEN="TRUE" AUTOSTART="TRUE"></Embed>
2、插入播放背景音乐(wav、midi、mp3)的代码
只要在代码窗口中的<head>和</head>标签之间以下代码即可:
<bgsound src="Music File Name" loop=n>
【注】①Music File Name是背景音乐文件名,其格式可以是:.mid,.mp3,.wav,.wma,.rmi。
②n表示循环次数,若n为-1则表示无限循环。
③网页文件和音乐文件要在同一文件夹中。
【例5】无限循环播放背景音乐mlh.mp3:
<bgsound src="mlh.mp3" loop="-1">
<!DOCTYPE html>
<html>
<head>
<title>html5添加音乐</title>
<meta charset="utf-8">
<!--embed标签写在<head>里面的title标签下-->
<embed src="C:\Users\Administrator\Desktop\告白气球.mp3" hidden="flase" autostart="true" loop="true">
<!-- 说明:
1、src:文件路径。
2、hidden="true"表示隐藏音乐播放按钮,相反使用hidden="false"表示开启音乐播放按钮。
3、autostart="true" 表示是打开网页加载完后自动播放。
4、loop="true"表示 循环播放 如仅想播放一次则为:loop="false" -->
</head>
<body>
<audio autoplay="autoplay" loop="loop" preload="auto" controls="controls"
src="C:\Users\Administrator\Desktop\告白气球.mp3">
</audio>
<!-- 说明:
1、autoplay="autoplay",则背景音乐将在音网页打开后就自动马上播放。
2、controls="controls",则为了在页面内显示显示控件,如播放按钮。
3、"loop="loop",则是为了使背景音乐重复播放。
4、preload="auto",则音频在页面加载的同时进行加载,并预备播放。
5、src="",即是在""内加入背景音乐的保存路径,如:src=""。
注:若是想播放按钮隐藏,则使用以下语句:
直接使用css 的display控制audio标签的显示: -->
<style type="text/css">
audio{
display: none;
}
</style>
</body>
</html>
*请认真填写需求信息,我们会在24小时内与您取得联系。