在h5页面上添加音乐播放
接到需求说要做一个h5轮播图,同时配上背景音乐。
Html部分:
<!--音乐开始-->
<div id="music">
<div id="audio-btn" class="on" onclick="music.changeClass(this,'media')">
<audio loop="loop" src="data:images/SeeYouAgain.mp3" id="media" preload="preload"></audio>
</div>
</div>
<!--音乐结束-->
Css部分:
#music #audio-btn {
width: 44px;
height: 44px;
position: fixed;
z-index: 1000;
top: 30px;
left: 30px;
}
#music .on {
background: url('../images/music_on.png') no-repeat 0 0;
-webkit-animation: rotating 1.2s linear infinite;
animation: rotating 1.2s linear infinite;
}
#music .off {
background: url('../images/music_off.png') no-repeat 0 0;
}
@-webkit-keyframes rotating {
from {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes rotating {
from {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
JS 部分:
var music = {
changeClass: function(target, id) {
var className = $(target).attr('class');
var ids = document.getElementById(id);
(className == 'on') ?
$(target).removeClass('on').addClass('off'): $(target).removeClass('off').addClass('on');
(className == 'on') ?
ids.pause(): ids.play();
},
play: function() {
var media = document.getElementById('media');
media.src = "images/SeeYouAgain.mp3";
media.play();
//document.getElementById("audio-btn").click(changeClass(this,'media'));
document.addEventListener("WeixinJSBridgeReady", function() {
var audioPlayer = document.querySelector('audio#media');
if(audioPlayer.paused) {
music.changeClass($(".off"), 'media')
}
media.play();
}, false);
}
}
music.play();
var audioPlayer = document.querySelector('audio#media');
if(audioPlayer.paused) {
music.changeClass($(".on"), 'media')
}
遇到的问题:
(1)安卓手机正常,苹果手机微信不能播放:
添加微信监听事件:
document.addEventListener("WeixinJSBridgeReady", function() {
media.play();
)}
(2)微信正常,苹果ipad上的qq不能播放
这个在各种百度后发现,还是不能播放,所以我们对播放器进行判断,更换停播样式:
var audioPlayer = document.querySelector('audio#media');
if(audioPlayer.paused) {
music.changeClass($(".on"), 'media')
}
(3)qq好了,微信出现样式是停播,但是实际在播放,所以把判断也要赋值到,监听后的方法中。
ok 各种正常,写个博客压压惊。
在h5页面上添加音乐播放的更多相关文章
- WordPress怎么在页面上添加目录
要实现的如下功能,在页面上添加一个文章目录: 步骤: 1)在wordpress中,在Posts----Categories中建立目录, 2) 3)add new post,指定post所属的cat ...
- Inno Setup技巧[界面]欢迎页面上添加文字
原文:Inno Setup技巧[界面]欢迎页面上添加文字 本文介绍在"欢迎页面添加文字"的两种方法. 界面预览: Setup技巧[界面]欢迎页面上添加文字" title= ...
- jquery,从后台查数据,给页面上添加树形。
前台jquery+ajax请求往页面上添加树形的js代码 //传入当前点击节点的id,在后台代码查询出parentid=当前节点id的记录数,从而实现点击当前节点,往后台发送ajax请求,查询出子节点 ...
- 每天看一片代码系列(三):codepen上一个音乐播放器的实现
今天我们看的是一个使用纯HTML+CSS+JS实现音乐播放器的例子,效果还是很赞的: codePen地址 HTML部分 首先我们要思考一下,一个播放器主要包含哪些元素.首先要有播放的进度信息,还有播放 ...
- 【转】一种解决h5页面背景音乐不能自动播放的方案
原文:http://www.cnblogs.com/wmhuang/p/5452259.html --------------------------------------------------- ...
- 一种解决h5页面背景音乐不能自动播放的方案
场景:微信.浏览器.App 普通解决方案:采用audio标签的autoplay属性 现象: 大部分IOS系统和少部分Android微信不支持自动播放 $解决方案:监听WeixinJSBridgeRea ...
- ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法
一. 运行环境: iphone所有机型的qq浏览器,safari浏览器,微信内置浏览器(qq浏览器内核)等. 二. 异常现象: 1. 大幅度上下滑动h5页面,然后停止滑动,有时候会影响到页面滚动,如局 ...
- 关于微信H5页面开发中音乐不自动播放的解决方法
我想应该有很多人在做H5场景应用.H5微刊.H5微杂志的时候加入背景音乐吧(客户需求),相信很多人一定碰过不能自动播放的时候,即使是相同的iPhone 5s也有不播放的时候,很蛋疼吧!? 之前我的解决 ...
- 【转】h5页面audio不自动播放问题
1.audio:html5音频标签 <audio loop src="/photo/aa.mp3" id="audio" autoplay preload ...
随机推荐
- P1065 单身狗
P1065 单身狗 转跳点:
- Python测试进阶——(4)Python程序监控、存储、分析并可视化CPU和内存利用率
monitor190617.py 监控cpu和内存利用率信息,组织成json格式,并写入到 record.txt 文件中: import psutil import time import json ...
- vue - 子组件向父组件 传递方法和参数
1,子组件 TodoItem.vue : <template> <div class="todo-item" :class="{'is-compl ...
- xilinx FPGA课程学习总结
一时冲动,跑步进入了FPGA的大门,尤老师是教练,我之前一直做嵌入式软件,数字电路也是十年前大学课堂学过,早已经还给老师了.FPGA对于我来说完全是小白,所以.老师的课程,对于我来说至关重要!因为见过 ...
- Essay Fail?可能是引用出了问题
新学期伊始,又有不少成功与雅思分手的学生们海外入学.本以为可以稍微喘口气,却发现漫天的essay接踵而至.因此,Hotessay小编为新瓜蛋子们特地准备了一期essay写作的干货.还不赶紧学起来,用到 ...
- 获取目录结构,并写到txt文档里
cmd里直接运行: tree /f > ml.txt 写成bat tree D:\a\ /f > D:\a\目录.txt 效果 卷 本地磁盘 的文件夹 PATH 列表 卷序列号为 18A9 ...
- 【学CG系列】web之审查元素
一.审查元素的作用 审查元素(你的F12)可以做到定位网页元素.实时监控网页元素属性变化的功能,可以及时调试.修改.定位.追踪检查.查看嵌套 ,修改样式和查看js动态输出信息,是开发人员得心应手的好工 ...
- python --- unittest如何传cookies
1. #将CookieJar转为字典: cookies = requests.utils.dict_from_cookiejar(r.cookies) #将字典转为CookieJar: cookies ...
- Windows 下 GNS3 安装与基本使用指南
1.GNS3简介 GNS3是一款图形化的网络虚拟软件,可以运行在多个平台(windows,linux,mac OS).我们可以通过它来学习Cisco的认证,或者是检验将要在生产环境中部署实施的相关配置 ...
- Vue - slot-scope="scope" 的意义
<template slot-scope="scope"> <el-button type="primary ...