1.实例2:

相对较完整

Html代码:

<style>#volumeSlider .slider-selection {background:#bababa;}
</style>
<div class="container"><p>../content/audio/海阔天空.mp3</p><button class="btn btn-primary" id="playBtn"><i class="glyphicon glyphicon-play"></i></button><button class="btn btn-info" id="mutedBtn"><i class="glyphicon glyphicon-volume-down"></i> </button><div class="form-group"><label class="control-label">音量:</label><input class="form-control" id="volume" data-slider-id="volumeSlider"data-slider-min="0" data-slider-max="100" data-slider-step="1"/></div><div class="form-group"><label class="control-label">进度:</label><input class="form-control" id="timeBtn" data-slider-id="volumeSlider"data-slider-min="0" data-slider-step="0.01" /></div>
</div>
<audio id="myAudio"></audio>

Js代码:

var currentFile = '../content/audio/海阔天空.mp3';
//判断浏览器是否支持audio
if (!window.HTMLAudioElement) {alert('您的浏览器不支持audio标签');
} else {var myAudio = document.getElementById('myAudio');myAudio.autoplay = false;myAudio.preload = false;if (myAudio.src.length <= 0) {myAudio.src = currentFile;}//播放/暂停按钮$('#playBtn').click(function () {var icon = $(this).find('i');if (myAudio.paused) {myAudio.play();icon.removeClass('glyphicon-play').addClass('glyphicon-pause');} else {myAudio.pause();icon.addClass('glyphicon-play').removeClass('glyphicon-pause');}});//静音按钮$('#mutedBtn').click(function () {var icon = $(this).find('i');icon.toggleClass('glyphicon-volume-down').toggleClass('glyphicon-volume-off');myAudio.muted = !myAudio.muted;});//音量按钮$('#volume').slider({value: myAudio.volume * 100}).on('change', function (e) {var value = e.value.newValue / 100;myAudio.volume = value;});//播放进度按钮$('#timeBtn').slider({value: 0,tooltip: 'always',formatter: function (value) {var date = new Date(0, 0, 0, 0, 0, value);return '当前时间:' + date.Format('mm:ss');}}).on('change', function (e) {var value = e.value.newValue;myAudio.currentTime = value;myAudio.play();});//进入可播放状态myAudio.oncanplay = function () {console.info('进入可播放状态,音频总长度:' + myAudio.duration);$('#timeBtn').slider('setAttribute', 'max', myAudio.duration);}myAudio.onplay = function () {console.info('开始播放:' + myAudio.currentTime);}myAudio.onpause = function () {console.info('暂停播放:' + myAudio.currentTime);}myAudio.ontimeupdate = function (e) {$('#timeBtn').slider('setValue', myAudio.currentTime);}//此事件和onplay好像一直myAudio.onplaying = function () {console.info('正在播放:' + myAudio.currentTime);}//此事件和oncanplay 好像一直myAudio.onloadedmetadata = function () {console.info('文件加载成功:' + myAudio.duration);}
}

显示结果:

更多:HTML5 <Audio>标签API整理(一)

更多事件实例参考:HTML5 Media事件(包含缓存进度显示)

时间格式化处理

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz var o = {"M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒
    };if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));for (var k in o)if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));return fmt;
}

HTML5 Audio/标签Api整理(二)相关推荐

  1. HTML5 Audio标签API整理(三)

    一.浏览器支持 Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 都支持 <audio> 元素. 注意: Internet Ex ...

  2. HTML5 Audio标签API整理(一)

    简单实例: <audio id="myAudio"></audio><script>var myAudio = document.getElem ...

  3. HTML5 Audio标签方法和函数API介绍

     问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函 ...

  4. html怎么获取audio的状态,HTML5 Audio标签方法和函数API介绍

    文章目录: audio常用属性 audio音乐格式的支持 audio属性 参数说明 最近在搞audio方面的h5页面,遇到一些坑,希望这篇文章对大家有所帮助. audio常用属性 那么首先来看一下au ...

  5. html5 meta标签属性整理

    html5 meta标签属性整理 前言:不知道有没有人觉得,html的meta标签描述的头部信息特别多,有针对的SEO的头部信息,也有针对移动设备的头部信息,今日特地在网上搜集资料自己稍微对其整理一下 ...

  6. HTML5 audio 标签-在html中定义声音的标签

    2019独角兽企业重金招聘Python工程师标准>>> 本文来源 169it HTML 5 <audio> 标签定义和用法 <audio> 标签定义声音,比如 ...

  7. HTML5 audio 标签 播放事件流程

    此代码包括了html5 audio 标签  整个播放流程. 你可以暂停,调整音量,拖动进度条 观察一下 var audio = new Audio(); document.body.appendChi ...

  8. Javascript控制html5 Audio标签

    Javascript控制html5 Audio标签 9 Replies 在上一篇文章:Html5 audio标签(属性)的使用详解中已经把关于audio标签的如何使用以及支持属性说清楚了.这里写篇文章 ...

  9. html5比html4的音频使用方法,HTML5 audio标签的用法示例

    您的位置:首页 - 教程 - HTML5 - 正文 HTML5 audio标签的用法示例 标签定义声音,比如音乐或其他音频流.html5 audio可以不用Flash插件就可以听音乐看视频,并不是全部 ...

最新文章

  1. m_Orchestrate learning system---十八、mo项目的启示是什么
  2. Centos 6 克隆导致网卡eth0变成eth1、及修改网卡名的方法
  3. 13.10 Scala中使用JSON.toJSONString报错:ambiguous reference to overloaded definition
  4. uva 10110——Light, more light
  5. Hyperloop,让发布简洁高效
  6. 【word使用技巧】删掉某一行参考
  7. linux语言 ctrl命令,linux下Ctrl命令组合
  8. 台式计算机对比评测报告,正常台式电脑测试报告.doc
  9. OpenCV4图像处理算子不完全手册-入门篇(已完结)
  10. 开篇:内容提要 (《蓝调口琴指南》名作拙译)
  11. OpenCV实现摄像头录像
  12. java 集成极光推送
  13. Win10触摸板右键无法使用,解决办法
  14. 你的另一半眼泪流给谁
  15. android bp文件_理解Android.bp
  16. android 中止应用程序,如何终止Xamarin应用程序?
  17. 非常值得一看的HTTP文章,即基础又深入
  18. jetson nano开电源_微雪电子NVIDIA Jetson Nano人工智能开发套件AI板介绍
  19. 微服务架构 | 如何利用好日志链路追踪做性能分析?
  20. 计算机丢失Uxteme,xp系统开机显示uxtheme.dll丢失的恢复教程

热门文章

  1. python redis 操作_使用Python操作redis
  2. 浏览器打开位置服务器,如何启动http服务器,然后打开web浏览器?
  3. c语言学生成绩删除功能,c语言学生成绩管理系统程序设计,有添加,查找,删除,输出,修改,排序等功能!!!...
  4. android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是...
  5. 高考计算机会考基础知识点,2017高考一定会考的46个知识点!
  6. python做圆柱绕流_圆柱绕流
  7. 复制出来的文本都是大写_好用又冷门的Word快捷键,据说80%的人都不知道!
  8. java人力资源管理系统设计_人力资源管理系统——《Java Web程序设计》课程设计...
  9. Html图片懒加载动画,Intersection Observer实现滚动到相应区域执行动画及图片懒加载...
  10. php %3f,PHP