浅谈h5自定义audio(问题及解决)


Posted in HTML / CSS onAugust 19, 2016

h5活动需要插入音频,但又需要自定义样式,于是自己写咯

html

XML/HTML Code复制内容到剪贴板
  1. <!-- cur表示当前时间 max表示总时长 input表示进度条 -->  
  2. <span class='cur'></span><input type="range" min=0 max=100 class='range' value=0><span class='max'></span>  

css

CSS Code复制内容到剪贴板
  1. /* 进度条 */  
  2. .range {   
  3.     width: 5.875rem;   
  4.     height: 0.15rem;   
  5.     background#2386e4;   
  6.     border-radius: 0.25rem;   
  7.     -webkit-appearance: none !important;   
  8.     positionabsolute;   
  9.     top: 3.55rem;   
  10.     left: 6rem;    
  11. }   
  12. /* 进度滑块 */  
  13. .range::-webkit-slider-thumb {   
  14.     width: 0.5rem;   
  15.     height: 0.5rem;   
  16.     background#fff;   
  17.     border1px solid #f18900;   
  18.     cursorpointer;   
  19.     border-radius: 0.25rem;   
  20.     -webkit-appearance: none !important;   
  21. }  

js

JavaScript Code复制内容到剪贴板
  1. //将秒数转为00:00格式   
  2. function timeToStr(time) {   
  3.     var m = 0,   
  4.     s = 0,   
  5.     _m = '00',   
  6.     _s = '00';   
  7.     time = Math.floor(time % 3600);   
  8.     m = Math.floor(time / 60);   
  9.     s = Math.floor(time % 60);   
  10.     _s = s < 10 ? '0' + s : s + '';   
  11.     _m = m < 10 ? '0' + m : m + '';   
  12.     return _m + ":" + _s;   
  13. }   
  14. //触发播放事件   
  15. $('.play').on('click',function(){   
  16.     var audio=document.getElementById('ao');   
  17.     audio.play();   
  18.     setInterval(function(){   
  19.         var t=parseInt(audio.currentTime);   
  20.     $(".range").attr({'max':751});   
  21.     $('.max').html(timeToStr(751));   
  22.         $(".range").val(t);   
  23.     $('.cur').text(timeToStr(t));   
  24.     },1000);   
  25. });   
  26. //监听滑块,可以拖动   
  27. $(".range").on('change',function(){   
  28.     document.getElementById('ao').currentTime=this.value;$(".range").val(this.value);   
  29. });  

以上基本可以实现自定义音频播放,但是在拖动进度条的时候出现了问题,电脑上是ok的,但是在手机上可以拖动,只不过音频的总时长比正常播放少了好几分钟,导致拖动进度后播放不准确。通过测试发现手机上拿到的duration(总时长)跟电脑上不一样,导致滑动后播放位置不准确。究其原因发现因为上传的音频被我压缩了,所以在手机上拿到的duration就跟正常的不一样。所以音频经过压缩后在手机上其duration就会变(电脑上不会),以后要注意。如果有什么既可以压缩音频也可以在手机上拿到正常duration的方法,麻烦告知小弟,哈哈。

关于这篇浅谈h5自定义audio(问题及解决)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3对图片照片进行边缘模糊处理的实现
Aug 08 HTML / CSS
css3制作动态进度条以及附加jQuery百分比数字显示
Dec 13 HTML / CSS
利用CSS3的3D效果制作正方体
Mar 10 HTML / CSS
浅谈pc和移动端的响应式的使用
Jan 03 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
May 03 HTML / CSS
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
Jun 04 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
Aug 18 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
Aug 22 HTML / CSS
canvas生成带二维码海报的踩坑记录
Sep 11 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
CSS子盒子水平和垂直居中的五种方法
Jul 23 HTML / CSS
CSS 实现磨砂玻璃(毛玻璃)效果样式
May 21 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
Aug 09 #HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
Aug 04 #HTML / CSS
Html5元素及基本语法详解
Aug 02 #HTML / CSS
Html5 web本地存储实例详解
Jul 28 #HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
Jul 26 #HTML / CSS
html5 初试 indexedDB(推荐)
Jul 21 #HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
Jul 19 #HTML / CSS
You might like
超级简单的发送邮件程序
2006/10/09 PHP
用PHP中的 == 运算符进行字符串比较
2006/11/26 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
介绍一下Java的事务处理
2012/12/07 面试题
计算机通信专业推荐信
2014/02/22 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
党校学习党性分析材料
2014/12/19 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书