HTML中添加音乐video embed audio


做H5页面时需要添加背景音乐,方法如下

方式一:<video controls="" autoplay="" name="media"><source src="音乐" type="audio/mpeg"></video>

    这种方式显示播放器。

方式二:<embed src="music/We Don't Talk Anymore.mp3" autostart="true" loop="true" hidden="true"></embed>
    这个方式主要是支持的播放器多。一定程度上解决了浏览器兼容的问题。
 
方式三:<audio autoplay="" loop=""><source src="http://mi.0w0.im/Letter_Song.mp3"></audio>
    这个不显示播放器 <audio>标签默认是隐藏的。
 
补充:

  问题1:苹果手机Safari和微信不播放音乐问题:

  用<audio> 加进去后用微信(iOS系统)浏览页面没有自动播放,点击暂停后再次点击播放正常,这就说明播放功能没有问题,将页面用iOS自带浏览器Safari打开后也不能自动播放;用android手机打开页面可以自动播放,那就证明代码本身是没有问题的,随后查了相关文献, 是因为iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio, 因此我们通过一个用户交互事件来主动play一下audio应该就可以解决问题了。
  微信解决办法:

1、利用微信提供的接口:wx.config 和 wx.ready
先引入js文件

<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

在页面添加以下代码

wx.config({
    debug : false, // 这里为false appId : '', // 以下随意填写即可 timestamp : (new Date()).getTime(), nonceStr : '', signature : '', jsApiList : ['checkJsApi'] }); wx.ready(function() { audio.play(); })

2:WeixinJSBridgeReady,对就这个东东可以搞定这个问题
代码如下:

var audo = document.getElementById('myAudio'); audo.play(); document.addEventListener('WeixinJSBridgeReady', function() { audo.play(); }, false);

  问题2 $("#audio").play()报错 not a function 

  报错原因:play()方法属于DOM对象方法,$('#audio')为jquery对象

  解决办法:将jquery对象转换为DOM对象

  或者直接用原生方法写:document.getElementById('music-audio').play();

 

方式四:<bgsound src=背景音乐链接地址 loop=-1>
 
方式五:<audio src="music/We Don't Talk Anymore.mp3" id="aud" autoplay="autoplay" controls="controls" preload="auto"></audio>
 

说明:

1、使用autoplay="autoplay",则背景音乐将在音网页打开后就自动马上播放。

2、使用controls="controls",则为了在页面内显示显示控件,如播放按钮。

3、使用"loop="loop",则是为了是背景音乐重复播放。

4、使用preload="auto",则音频在页面加载的同时进行加载,并预备播放。

5、使用src="",即是在""内加入背景音乐的保存路径,如:src="web网页制作\03.mp3"。

注:若是想播放按钮隐藏,则使用以下语句:直接使用css 的display控制audio标签的显示

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM