• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > h5自定义audio的解析

h5自定义audio的解析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含h5,自定义,audio等相关知识,匿名希望在学习及工作中可以帮助到您
下面为大家带来一篇浅谈h5自定义audio(问题及解决)。内容挺不错的,现在就分享给大家,也给大家做个参考。

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

html

<!-- cur表示当前时间 max表示总时长 input表示进度条 -->
<span class='cur'></span><input type="range" min=0 max=100 class='range' value=0><span class='max'></span>

css

/* 进度条 */
.range {   
    width: 5.875rem;   
    height: 0.15rem;   
    background: #2386e4;   
    border-radius: 0.25rem;   
    -webkit-appearance: none !important;   
    position: absolute;   
    top: 3.55rem;   
    left: 6rem;    
}   
/* 进度滑块 */
.range::-webkit-slider-thumb {   
    width: 0.5rem;   
    height: 0.5rem;   
    background: #fff;   
    border: 1px solid #f18900;   
    cursor: pointer;   
    border-radius: 0.25rem;   
    -webkit-appearance: none !important;   
}

js

//将秒数转为00:00格式 
function timeToStr(time) {   
    var m = 0,   
    s = 0,   
    _m = '00',   
    _s = '00';   
    time = Math.floor(time % 3600);   
    m = Math.floor(time / 60);   
    s = Math.floor(time % 60);   
    _s = s < 10 ? '0' + s : s + '';   
    _m = m < 10 ? '0' + m : m + '';   
    return _m + ":" + _s;   
}   
//触发播放事件 
$('.play').on('click',function(){   
    var audio=document.getElementById('ao');   
    audio.play();   
    setInterval(function(){   
        var t=parseInt(audio.currentTime);   
    $(".range").attr({'max':751});   
    $('.max').html(timeToStr(751));   
        $(".range").val(t);   
    $('.cur').text(timeToStr(t));   
    },1000);   
});   
//监听滑块,可以拖动 
$(".range").on('change',function(){   
    document.getElementById('ao').currentTime=this.value;$(".range").val(this.value);   
});

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注微课江湖!

相关推荐:

H5横竖屏检测的方法

以上就是h5自定义audio的解析的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • 详解HTML5之pushstate、popstate操作history,无刷新改变当前url
  • HTML5各种头部meta标签的功能(推荐)
  • 如何用H5实现一个触屏版的轮播器的实例
  • H5新属性audio音频和video视频的控制详解(推荐)
  • HTML5页面音视频在微信和app下自动播放的实现方法
  • H5 meta小结(前端必看篇)
  • 浅谈h5自定义audio(问题及解决)
  • h5调用摄像头的实现方法
  • HTML5单页面手势滑屏切换原理
  • Html5实现二维码扫描并解析

相关文章

  • 2018-12-03HTML5-关于表单使用的代码实例总结
  • 2018-12-03当一个人说自己“精通JavaScript, CSS3, HTML5”时应该如何理解?
  • 2017-08-06HTML5安全介绍之内容安全策略(CSP)简介
  • 2017-08-06HTML5+CSS3:3D展示商品信息示例
  • 2018-12-03span设为inline-block之后,为什么未包含文字时下面会多出一条空白?
  • 2018-12-03html5 details标签的作用是什么?<details>标签的使用方法介绍(附使用实例)
  • 2018-12-03HTML5 embed标签定义和用法详解_html5教程技巧
  • 2018-12-03HTML5 DragEvent接口的实例讲解
  • 2018-12-03HTML5炫酷扑 克 牌卡片动画类库
  • 2017-08-06HTML5 Canvas绘制圆点虚线实例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5开发手机应用-详细介绍viewport的作用(图文)
    • vue2.0使用swiper实现轮播广告
    • HTML5中的nav标签学习笔记
    • HTML5新特性之用SVG绘制微信logo _html5教程技巧
    • HTML5 localStorage知识点总结
    • 什么是应用程序缓存(Application Cache)?
    • 让IE支持HTML5的方法_html5教程技巧
    • 基于HTML5的可预览多图片Ajax上传
    • range对象之selectNode等方法
    • html5指南(2)-操作Document metadata的详情介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有