audio小记
写H5活动页的需要音频,图标旋转停止保持当时的旋转角度,这样视觉体验效果好;
之前写法是点击pause()就直接停止动画,后来发现了animation有个比较好的属性animation-play-state:runnimg/paused可以让图标保持当前旋转角度;
以下是相关代码,比较简单,大神可以过,像我一样的小白,可以共同学习;
注意:
1、我测试用的是chrome浏览器,chrome浏览器现在是限制了音频以及视频无法自动播放;
在chrome 浏览器中输入:chrome://flags,搜索“Autoplay policy”,默认为“Default”,
修改为 “No user gesture is required” 就可以了;此方法仅限谷歌浏览器,
2、在微信浏览器中打开也不会自动播放,目前我的解决办法是:监听微信的接口
//微信端自动播放音频
document.addEventListener("WeixinJSBridgeReady", function() {
audio.play();
}, false);
HTML
<div class="audio">
<audio id="audioTag" src="音频地址" autoplay="autoplay" controls="controls" loop='false' hidden="true">您的浏览器暂不支持audio</audio>
</div>
CSS
/* 音频 */
.audio {
position:absolute;top:60/50rem;right:60/50rem;z-index:99;width:70/50rem;height:70/50rem;background:url(images/music.png) top center no-repeat; background-size:100% 100%;
animation:turn 1s linear infinite running;
-webkit-animation:turn 1s linear infinite running;
}
.paused{
animation-play-state: paused;
-webkit-animation-play-state: paused;
}
/* 音频动画 */
@keyframes turn{
0%{transform:rotate(0)};
100%{transform:rotate(1turn)}
} @-webkit-keyframes turn{
0%{transform:-webkit-rotate(0)};
100%{transform:-webkit-rotate(1turn)}
}
JS
//音频自动播放
var audio = $('#audioTag').get(0);
var controlsPlay = $('.audio');
controlsPlay.click(function() {
//改变暂停/播放icon
if (audio.paused) {
audio.play();
$(this).removeClass('paused') } else {
audio.pause();
$(this).addClass('paused')
}
});
//微信端自动播放音频
document.addEventListener("WeixinJSBridgeReady", function() {
audio.play();
}, false);
***audio在ios中禁止了autoplay属性,无法自动播放 ,找了很久看到大多数使用touchstart事件触发play()事件
目前还是没有比较好的解决方案,我最后的解决方案是ios不自动播放通过touchstart触发,android自动播放
Complete!
audio小记的更多相关文章
- Cocos2d-x项目移植到WinRT/Win8小记
Cocos2d-x项目移植到WinRT/Win8小记 作者: K.C. 日期: 11/17/2013 Date: 2013-11-17 23:33 Title: Cocos2d-x项目移植到WinRT ...
- Cocos2d-x项目移植到WP8小记
Cocos2d-x项目移植到WP8小记 作者: K.C. 日期: 10/24/2013 Date: 2013-10-24 00:33 Title: Cocos2d-x项目移植到WP8小记 Tags: ...
- [原]Paste.deploy 与 WSGI, keystone 小记
Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...
- html5 audio总结
前言 html5中对音频,视频播放原生支持.最近做了一个音乐播放器,得益于快过年了,才能抽出一点时间来总结一下.总的来说,html5对audio的支持非常强大, 难怪flash要死.浏览器上装播放插件 ...
- 《HTML5》 Audio/Video全解
一.标签解读 <audio> 标签属性 <audio id="media" src="http://www.abc.com/test.mp3" ...
- video/audio在ios/android上播放兼容
1.audio自动播放 <audio src='xxx.mp3' autoplay></audio> 上面是audio标签autoplay属性是自动播放,但是在安卓部分浏览器和 ...
- audio 基本功能实现(audio停止播放,audio如何静音,audio音量控制等)
audio最简单原始的播放.暂停.停止.静音.音量大小控制的功能,注意某些浏览器会有权限无法自动播放噢(video也会如此) <!doctype html> <html> &l ...
- h5自定义audio(问题及解决)
h5活动需要插入音频,但又需要自定义样式,于是自己写咯 html <!-- cur表示当前时间 max表示总时长 input表示进度条 --> <span class='cur'&g ...
- Your app declares support for audio in the UIBackgroundModes key in your Info.plist 错误
提交AppStore时候被拒绝 拒绝原因:Your app declares support for audio in the UIBackgroundModes key in your Info.p ...
随机推荐
- Maven插件mybatis-generator,如何让生成的PO类的field上有对应表字段的注释
前言 去年刚入职的时候,我就发现,po类(和数据库表对应的类)上,一片都是光秃秃的,什么注释都没有,类上没注释,field上也没注释. 在以前的项目中,其实我们都是有生成注释的,比如,对于下面这个表: ...
- NOIP集训题目解析
11.01 子段和 题目大意 给定一个长度为 \(n\) 的序列 \(a\) ,\(a_i=\{ -1,0,1 \}\) ,需要将 \(a\) 中的 \(0\) 变为 \(1\) 或 \(-1\) , ...
- 如何取消 UIView 动画?
原文链接 最近项目中有一个需求是需要手动点击相机对焦,这里由于相机对焦部分需要一个类似于系统对焦框一样的缩放动画,同时动画时长为0.3秒,因此这里就有一个很普遍的需求,如果用户在0.3秒内继续点击对焦 ...
- 论文解读《Cauchy Graph Embedding》
Paper Information Title:Cauchy Graph EmbeddingAuthors:Dijun Luo, C. Ding, F. Nie, Heng HuangSources: ...
- 两个宝藏|关于我在github上冲浪时的一个小技巧。
你好呀,我是歪歪. 前几天在 github 上冲浪的时候,发现了两个宝藏东西. 我也不藏着掖着了,拿出来给大家分享一下. 这两个宝藏是关于 arthas 和 SOFARegistry 的,这两个东西都 ...
- Windows 如何打开 .md 文件
•问题 最近在学习[C++|黑马程序员],对于课堂笔记中的 .md 文档无从下手,要是直接通过 Chrome 打开排版又很乱,且不能正常显示URL中的内容: 这可如何是好??? •解决方案 1. 打开 ...
- 06分频计数器之LED闪烁1
一设计功能是:让LED灯每1秒亮一次,再灭一秒,闪烁时间周期为2秒. 二分频的介绍: (一)设计方式:IP核和自己动手写. (二)对于分频的构成:一个是计数器,还有时钟翻转.方法一是计满整个周期,一半 ...
- automake的使用2
前言 如果你的入口文件main.c和依赖的文件不是在同一个目录中的,使用Autotools来管理项目的时候会稍微复杂一下. 在不同的目录下,项目会生成*.a文件的静态连接(静态连接相当于将多个.o目标 ...
- A5/web项目连接Oracle 12c数据库报:ORA-01017: 用户名/口令无效
解决办法: 修改Oracle12c用户名密码,再改回来,就ok了,亲测有效.
- 重载(Overload)和重写(Override)的区别。重载的 方法能否根据返回类型进行区分?
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视 ...