写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小记的更多相关文章

  1. Cocos2d-x项目移植到WinRT/Win8小记

    Cocos2d-x项目移植到WinRT/Win8小记 作者: K.C. 日期: 11/17/2013 Date: 2013-11-17 23:33 Title: Cocos2d-x项目移植到WinRT ...

  2. Cocos2d-x项目移植到WP8小记

    Cocos2d-x项目移植到WP8小记 作者: K.C. 日期: 10/24/2013 Date: 2013-10-24 00:33 Title: Cocos2d-x项目移植到WP8小记 Tags: ...

  3. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  4. html5 audio总结

    前言 html5中对音频,视频播放原生支持.最近做了一个音乐播放器,得益于快过年了,才能抽出一点时间来总结一下.总的来说,html5对audio的支持非常强大, 难怪flash要死.浏览器上装播放插件 ...

  5. 《HTML5》 Audio/Video全解

    一.标签解读 <audio> 标签属性 <audio id="media" src="http://www.abc.com/test.mp3" ...

  6. video/audio在ios/android上播放兼容

    1.audio自动播放 <audio src='xxx.mp3' autoplay></audio> 上面是audio标签autoplay属性是自动播放,但是在安卓部分浏览器和 ...

  7. audio 基本功能实现(audio停止播放,audio如何静音,audio音量控制等)

    audio最简单原始的播放.暂停.停止.静音.音量大小控制的功能,注意某些浏览器会有权限无法自动播放噢(video也会如此) <!doctype html> <html> &l ...

  8. h5自定义audio(问题及解决)

    h5活动需要插入音频,但又需要自定义样式,于是自己写咯 html <!-- cur表示当前时间 max表示总时长 input表示进度条 --> <span class='cur'&g ...

  9. 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 ...

随机推荐

  1. Ghost:凛冬散尽,长夜终明

    你须领先于一切离别,仿佛它们全在你身后 像刚刚逝去的冬天 因为许多冬天中有一个无尽的冬天 使你过冬之心终究捱[ái]过                                          ...

  2. DTD与Schema约束

    1.DTD:(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法 规则.它是标准通用标记语言.2.XML Schema 是基于XML的DTD替代者 ...

  3. windows安装oos遇到的坑 (汇总)

    一.环境安装 --  搭建域控服务器 1. 打开服务器管理器,添加角色和功能: 2.下一步: 3.下一步: 4.下一步 5.选择添加AD域服务,同时添加所需功能,下一步: 6.安装功能,下一步: 7. ...

  4. Linux系统常用指令

    建立一个文件或文件夹的软链接: ln -s 原名 软链接名 软链接就类似Windows下的"快捷方式",访问它其实访问的是它指向的内容. git仓库操作 1.通常远程操作的第一步, ...

  5. Linux移植实际操作一

    @ 目录 *前言 目前看了很多关于"Linux移植"的的各种教程.书籍,看完发现不过是对已有板子.已有驱动进行启用.禁用.参数修改.只能叫做"Linux配置". ...

  6. 部署 Nginx +uwsgi+centos7+django+supervisor 项目

    部署CRM项目 前言 使用软件 nginx 使用nginx是为了它的反向代理功能,项目会通过Django+uWSGI+Nginx进行服务器线上部署. uWSGI python web服务器开发使用WS ...

  7. 1分钟为Win10瘦身!把吃掉的硬盘找回来

    很多小伙伴升级完Win10后都发现C盘变小了,不少人以为这大概就是Win10太占磁盘空间了.但事实上,Win10和以前的操作系统一样,对于C盘空间并没有什么太高要求.出现这个问题的主要原因,是Win1 ...

  8. MATLAB批量打印输出600PPI的图像且图像不留空白

    一 前言 最近收到审稿人的修改意见,其中有三条:一条为<RC: There were only five images evaluated in the experiment, and I re ...

  9. 【freertos】003-任务基础知识

    目录 前言 任务概念 任务状态 任务优先级 空闲任务和空闲任务钩子 空闲任务 空闲任务钩子 创建空闲钩子 创建任务 任务参数相关概念 创建静态内存任务 配置静态内存 实现空闲任务堆栈函数 实现定时器任 ...

  10. 序列化与反序列化、def的介绍与快速使用、cbv源码分析、APIView与request对象分析

    今日内容概要 序列化与反序列化 def介绍和快速使用 cbv源码流程分析 drf之APIView和Request对象分析 内容详细 1.序列化和反序列化 # api接口开发 最核心最常见的一个过程就是 ...