美文网首页
移动页面的背景音乐播放

移动页面的背景音乐播放

作者: yyshang | 来源:发表于2016-12-01 17:36 被阅读166次

移动页面的背景音乐播放

今年一年来做了大量的wap页面有些项目就要提供音乐的播放功能,那么h5就提供了专属的音乐播放标签audio,audio中有autoplaylooppreload的新属性是最经常用到内容。

第一次写的时候看到有这些新的属性以为问题就能解决,功能就能实现。现实告诉你不要太天真。

一般我们会每一页的右上方位置放两张音乐的状态图片,因此静态页面代码如下:

<div class="music">

    <span class="sakyMusic">

          <img src="img_on.png"  id="sakyMusicOn" class="spin" >

        <img src="img_off.png" id="sakyMusicOff" >

        <audio  class="video1"  autoplay  preload="auto">

               <source src="music.mp3"  type="audio/mpeg">

       </audio>

   </span>

</div>

当然这个还是需要样式的配合才能漂亮,因此css样式如下

@-webkit-keyframes rotate {

0%,

100% {

-webkit-transform: rotate(0deg);

}

100% {

-webkit-transform: rotate(360deg);

}

}

@keyframes rotate {

0%,

100% {

transform: rotate(0deg);

}

100% {

transform: rotate(360deg);

}

}

.music {

position: fixed;

top: 13px;

right: 13px;

width: 31px;

height: 31px;

z-index: 99999;

}

.spin {

-moz-animation: rotate 4s linear infinite;

-webkit-animation: rotate 4s linear infinite;

-o-animation: rotate 4s linear infinite;

-ms-animation: rotate 4s linear infinite;

animation: rotate 4s linear infinite;

}

#sakyMusicOn {

display: block;

}

#sakyMusicOff {

display: none;

}

这个时候就会有人提出来这个肯定不能自动循环播放,因为没有添加自动循环播放的属性 loop,哈哈是的这个时候是不能自动循环播放

那我把loop加在audio标签里面,测试下看看,不错安卓这个功能实现了,再看看ios,咦,什么原因部分ios没有播放,怎么回事?

原来:ios 为了节省用户流量,对于 audio 和 video标签的 preload 和 autopaly 标签 会自动拦截。。。。

那怎么办?

我用的jq,引得是1.6的版本

$(function(){

var j=1;

if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {              //对ios系统进行了半段

$('body').bind('touchstart',function() {                                       //只要滑动就播放

if ($('#sakyMusicOn').is(':visible')&&(j==1) ) {                          //防止每触下body音乐就重头播放

$('audio')[0].play();

$('#sakyMusicOff').hide();

$('#sakyMusicOn').show();

}

});

}

$('#sakyMusic').click(function(e){

e.preventDefault();

if ($('audio')[0].paused) {

alert(1)

$('audio')[0].play();

$('#sakyMusicOff').hide();

$('#sakyMusicOn').show();

} else {

alert(2)

$('audio')[0].pause();

$('#sakyMusicOff').show();

$('#sakyMusicOn').hide();

}

});

$('audio').bind('ended', function(){                        //音乐循环

$('audio')[0].play();

});

})

这样基本就把想要的效果实现。还请大牛指正。。。

参考

http://www.bubuko.com/infodetail-833618.html

相关文章

  • 移动页面的背景音乐播放

    移动页面的背景音乐播放 今年一年来做了大量的wap页面有些项目就要提供音乐的播放功能,那么h5就提供了专属的音乐播...

  • 跟我学Rx编程——背景音乐按钮

    有些H5的页面会有一个按钮控制背景音乐播放,如果只是单一页面的话,没有什么逻辑可言。但如果涉及到转场,那么逻辑就复...

  • cocos 播放音乐问题

    playMusic 播放背景音乐 背景音乐只有一个,当播放音乐A时,播放B时,A音乐会自动停止。 playEffe...

  • 背景音乐的开关

    最近写录音功能,考虑到背景音乐的影响,需要在录音和播放录音时将背景音乐暂停,在完成后继续背景音乐的播放。网上找到个...

  • 小程序入门技术点总结第三篇

    今天这篇分享几个小功能点,主要讲如何让实现。 1、页面的收藏和分享功能 2、背景音乐播放 一、页面的收藏和分享功能...

  • 备忘

    加载背景音乐播放背景音乐(设置单曲循环)我方飞机诞生interval=0 while True:if 用户是否点击...

  • 三个Activity循环点击,返回只保留一个本身

    业务要求:FM播放页、主播主页、栏目详情页可以依托播放页循环点击(如:播放页——主播主页——播放页——栏目详情页)...

  • 如何关闭UIWebView加载网页的声音

    最近做的一个项目遇到的问题,用下面的方法实现了加载网页时候自动播放背景音乐 [_webView setMediaP...

  • 1.7 背景音乐播放

    1、显示音乐播放图标 1.1 新增音乐播放图片 post-detail.wxml 1.2 添加音乐播放的CSS代码...

  • WeChat 背景音乐播放

    本次的系列博文的知识点讲解和代码,主要是来自于 七月老师 的书籍《微信小程序开发:入门与实践》,由个人总结并编写,...

网友评论

      本文标题:移动页面的背景音乐播放

      本文链接:https://www.haomeiwen.com/subject/aalspttx.html