html5的audio实现高仿微信语音播放效果(实际项目)
HTML部分:
- <div class="tab-pane fade dialog-record" id="dialogRecord">
- <volist name="dialogRecord" id="record">
- <div class="dialog">
- <span class="time">{$record.time}</span>
- <span class="text">{$record.asr}</span>
- <div class="dialog-container">
- <div class="audio-animation">
- <div id="one"></div>
- <div id="two"></div>
- <div id="three"></div>
- <div id="four"></div>
- </div>
- </div>
- <audio class="audio">
- <source src="{$record.audition_url}"/>
- </audio>
- <div class="focus" tabindex =></div>
- </div>
- </volist>
- </div>
css部分:
- .dialog-record .dialog span.text{
- max-width: %;
- height: auto;
- background: #0094DE;
- padding-left: 3.5%;
- padding-right: 3.5%;
- padding-top: 8px;
- padding-bottom: 8px;
- font-size: .3rem;
- color: #fff;
- line-height: 25px;
- border-radius: 5px;
- margin-left: 7px;
- display: inline-block;
- margin-right: %;
- }
- .dialog-record .dialog span.time{
- display: block;
- width: %;
- text-align: center;
- margin-bottom: 5px;
- color: #;
- }
- .dialog-record .dialog .focus{
- height: 5px;
- outline-style: none;
- }
- /*播放语音时的动画*/
- @keyframes yuying{
- %{
- height: %;
- }
- %{
- height: %;
- }
- %{
- height: %;
- }
- %{
- height: %;
- }
- %{
- height: %;
- }
- }
- .dialog-container{
- width: 40px;
- height: 40px;
- border: 2px solid #0094de;
- border-radius: 8px;
- display: inline-flex;
- justify-content: center;
- align-items: center;
- }
- .dialog-container .audio-animation{
- width: 20px;
- height: 20px;
- }
- .audioPlay #one{
- animation:yuying .6s infinite .15s;
- -webkit-animation:yuying .6s infinite .15s;
- }
- .audioPlay #two{
- animation:yuying .6s infinite .3s;
- -webkit-animation:yuying .6s infinite .3s;
- }
- .audioPlay #three{
- animation:yuying .6s infinite .45s;
- -webkit-animation:yuying .6s infinite .45s;
- }
- .audioPlay #four{
- animation:yuying .6s infinite .6s;
- -webkit-animation:yuying .6s infinite .6s;
- }
- #one,#two,#three,#four{
- width:2px;
- border-radius: 50px;
- background-color: #0094de;
- vertical-align: middle;
- display: inline-block;
- }
- #one{
- margin-left: 1px;
- height: %;
- }
- #two{
- height: %;
- }
- #three{
- height: %;
- }
- #four{
- height: %;
- }
JS部分:
- //播放语音
- $('#dialogRecord').on('click','.dialog-container',function(){
- var currentNode = $(this);
- var audioEle = $(this).siblings('.audio');
- playAudio(currentNode,audioEle);
- });
- function playAudio(currentNode,audioEle){
- /*jquery对象转换成js对象*/
- var player = audioEle[];
- if (player.paused){ /*如果已经暂停*/
- player.play(); /*播放*/
- currentNode.children('.audio-animation').addClass('audioPlay');
- currentNode.parent().siblings().children('.dialog-container').find('.audio-animation').removeClass('audioPlay');
- }else {
- player.pause();/*暂停*/
- currentNode.children('.audio-animation').removeClass('audioPlay');
- }
- // 录音播放结束停止动画
- player.addEventListener('ended', function () {
- currentNode.children('.audio-animation').removeClass('audioPlay');
- }, false);
- }
html5的audio实现高仿微信语音播放效果(实际项目)的更多相关文章
- html5的audio实现高仿微信语音播放效果
效果图 前台大体呈现效果图如下: 点击就可以播放mp3格式的录音.点击另外一个录音,当前录音停止! 思路 关于播放动画,这个很简单,我们可以用css3的逐帧动画来实现.关于逐帧动画,我之前的文章也写过 ...
- html5的audio实现高仿微信语音播放效果Demo
HTML部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- 纯css3配合vue实现微信语音播放效果
前言 每次写点东西都扯两句-0-,这几天一半精力放在移动端,一半维护之前的项目.书也少看了,不过还好依旧保持一颗学习的心.对于css3我是之前有专门整理过的,因此对于原理之前也算了解.今天是项目中遇到 ...
- Android 高仿微信语音聊天页面高斯模糊效果
目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...
- js仿微信语音播放
html结构如下: <div class="app-voice-you" voiceSrc="xx.mp3"> <img class=&quo ...
- html5聊天案例|趣聊h5|仿微信界面聊天|红包|语音聊天|地图
之前有开发过一个h5微直播项目,当时里面也用到过聊天模块部分,今天就在之前聊天部分的基础上重新抽离模块,开发了这个h5趣聊项目,功能效果比较类似微信聊天界面.采用html5+css3+Zepto+sw ...
- GSD_WeiXin(高仿微信)应用源码
高仿微信计划:已经实现功能 1.微信首页(cell侧滑编辑.下拉眼睛动画.下拉拍短视频.点击进入聊天详情界面) 2.通讯录(联系人字母排序.搜索界面) 3.发现(朋友圈) 4.我(界面) 待实现功能( ...
- uniapp+nvue开发之仿微信语音+视频通话功能 :实现一对一语音视频在线通话
本篇文章是利用uni-app和nvue实现微信效果功能的第三篇了,今天我们基于uniapp + nvue实现的uniapp仿微信音视频通话插件实例项目,实现了以下功能: 1: 语音通话 2: 视频 ...
- Android高仿微信(一)——如何消除启动时的白屏
默认情况下,APP启动时会先把屏幕刷成白色,然后才绘制第一个Activity中的View,这两个步骤之间的延迟会造成启动后先看到白屏(时间大概为1秒左右).时间不长,但是我们也看到,一般的APP时不存 ...
随机推荐
- Codeforces 487E Tourists [广义圆方树,树链剖分,线段树]
洛谷 Codeforces 思路 首先要莫名其妙地想到圆方树. 建起圆方树后,令方点的权值是双联通分量中的最小值,那么\((u,v)\)的答案就是路径\((u,v)\)上的最小值. 然而这题还有修改, ...
- list的add()方法与addAll()方法简介
简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的. 吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基 ...
- js 判断输入的内容是否是整数
需求简介:列表有一列排序,其值只能是整数,不能是小数,在js中判断,并给出提示 解决思路:在js中先获取表单的值,然后用isNaN,然后查一下怎么把小数排除在外.我靠( ‵o′)凸,这只能算是半路把! ...
- django的查看sql语句setting设置
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'cons ...
- Gson将字符串转map时,int默认为double类型
gson能够将json字符串转换成map, 但是在转成map时, 会默认将字符串中的int , long型的数字, 转换成double类型 , 数字会多一个小数点 , 如 1 会转成 1.0 Gs ...
- windows下bat批处理执行sql语句__Mysql
直接上代码: @ECHO OFF SET dbhost=主机名(例如:127.0.0.1)SET dbuser=用户名(例如:root)SET dbpasswd=用户密码(例如:root)SET db ...
- Callable和Future出现的原因
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就必须通过共享变量或者使用 ...
- Java+selenium之WebDriver常见特殊情况如iframe/弹窗处理(四)
1. iframe 的处理 查找元素必须在对应的 ifarme 中查找,否则是找不到的 // 传入参数为 frame 的序号,从0开始 driver.switchTo().frame(Int inde ...
- Controller中方法返回值其他类型需要添加jackson依赖
第一个 第二个: 第三个 https://www.cnblogs.com/codejackanapes/p/5569013.html:json的博客园 springmvc默认的是:2.Jackson: ...
- # 20165206 2017-2018-2 《Java程序设计》第4周学习总结
20165206 2017-2018-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承:继承是一种由已有的类创建新类的机制. 子类和父类:由继承得到的类称为子类,被继承的类称 ...