此代码包括了html5 audio 标签  整个播放流程。 你可以暂停,调整音量,拖动进度条 观察一下

var audio = new Audio();
document.body.appendChild(audio);if (!!audio){audio.src = "allofMe.mp3";// audio.autoplay = true;audio.controls = true;setTimeout(function () {console.log("media duration: " + audio.duration);console.log("media currentTime: " + audio.currentTime);console.log("media playbackrate: " + audio.playbackRate);console.log("media isAutoplay: " + audio.autoplay);console.log("media volume: " + audio.volume);console.log("media muted: " + audio.muted);console.log("media readystate: " + audio.readyState);  //0 = HAVE_NOTHING - 没有关于音频是否就绪的信息//1 = HAVE_METADATA - 关于音频就绪的元数据//2 = HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒//3 = HAVE_FUTURE_DATA - 当前及至少下一帧的数据是可用的//4 = HAVE_ENOUGH_DATA - 可用数据足以开始播放// audio.muted = true;// audio.currentTime = 5;  //从5秒开始播放audio.play();}, 5000);audio.addEventListener("loadstart", function () {     //当浏览器开始寻找指定的音频/视频时,会发生 loadstart 事件。即当加载过程开始时console.log("event loadstart: " + (new Date()).getTime());});audio.addEventListener("durationchange", function () {   //当指定音频/视频的时长数据发生变化时,发生 durationchange 事件。console.log("event durationchange: " + (new Date()).getTime());});audio.addEventListener("loadedmetadata", function () {   //当指定的音频/视频的元数据已加载时,会发生 loadedmetadata 事件。console.log("event loadedmetadata: " + (new Date()).getTime());});audio.addEventListener("progress", function () {   //当浏览器正在下载指定的音频/视频时,会发生 progress 事件。console.log("event progress: " + (new Date()).getTime());});audio.addEventListener("suspend", function () {    //该事件在媒体数据被阻止加载时触发。 可以是完成加载后触发,或者因为被暂停的原因。console.log("event suspend: " + (new Date()).getTime());});audio.addEventListener("loadeddata", function () {   //当当前帧的数据已加载,但没有足够的数据来播放指定音频/视频的下一帧时,会发生 loadeddata 事件console.log("event loadeddata: " + (new Date()).getTime());});audio.addEventListener("canplay", function () {   //当浏览器能够开始播放指定的音频/视频时,发生 canplay 事件。console.log("event canplay: " + (new Date()).getTime());});audio.addEventListener("canplaythrough", function () {   //当浏览器预计能够在不停下来进行缓冲的情况下持续播放指定的音频/视频时,会发生 canplaythrough 事件。console.log("event canplaythrough: " + (new Date()).getTime());});audio.addEventListener("play", function () {   //开始播放时触发console.log("event play: " + (new Date()).getTime());});audio.addEventListener("playing", function () {   // 开始回放console.log("event playing: " + (new Date()).getTime());});audio.addEventListener("timeupdate", function () { //播放时间改变   这个会一直打印// console.log("event timeupdate: " + (new Date()).getTime());});audio.addEventListener("pause", function () {   // 暂停时会触发,当播放完一首歌曲时也会触发console.log("event pause: " + (new Date()).getTime());});audio.addEventListener("ended", function () {   //当播放完一首歌曲时也会触发console.log("event ended: " + (new Date()).getTime());});audio.addEventListener("abort", function () {     //客户端主动终止下载(不是因为错误引起)console.log("event abort: " + (new Date()).getTime()) ;});audio.addEventListener("error", function () {   //请求数据时遇到错误console.log("event error: " + (new Date()).getTime());});audio.addEventListener("stalled", function () {   //网速失速console.log("event stalled: " + (new Date()).getTime());});audio.addEventListener("waiting", function () {   //等待数据,并非错误console.log("event waiting: " + (new Date()).getTime());});audio.addEventListener("seeking", function () {  //寻找中console.log("event seeking: " + (new Date()).getTime());});audio.addEventListener("seeked", function () { //寻找完毕console.log("event seeked: " + (new Date()).getTime());});audio.addEventListener("ratechange", function () {  //播放速率改变console.log("event ratechange: " + (new Date()).getTime());});audio.addEventListener("volumechange", function () {    //音量改变console.log("event volumechange: " + (new Date()).getTime());});
}

HTML5 audio 标签 播放事件流程相关推荐

  1. HTML5 VIDEO标签播放事件流水

    HTML5 的 <video>标签有许多默认的事件,如果我们通过这个播放器加载一段视频文件,从开始加载到播放结束,都经历了哪些事件呢?这些事件的触发顺序如何? [1]HTML5:onpla ...

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

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

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

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

  4. HTML5 Audio/标签Api整理(二)

    1.实例2: 相对较完整 Html代码: <style>#volumeSlider .slider-selection {background:#bababa;} </style&g ...

  5. html5 audio音频播放全解析

    html5开启了一个新时代,因为它让浏览器本身变得不那么被动,audio api就是一个典型的列子,在html5还没确定之前,如果想要在网页上听音乐看视频唯一的办法就是用flash 意思是当你没有给浏 ...

  6. html5 audio音频播放器

    html5开启了一个新时代,因为它让浏览器本身变得不那么被动,audio api就是一个典型的列子,在html5还没确定之前,如果想要在网页上听音乐看视频唯一的办法就是用flash 意思是当你没有给浏 ...

  7. html5 audio样式修改,html5audio美化 html5 audio 顺序播放

    如何修改HTML5 audio 的样式 写的时候不要用controls, 然后自己写div或者a标签,定义样式. 再用js捕获audio事件就可以了. 基本就是src pause暂停 load加载 p ...

  8. Javascript控制html5 Audio标签

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

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

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

最新文章

  1. [导入]解决“Internet Explorer 无法打开 Internet站点已终止操作”问题
  2. python中if语句求最大值_python 判断三个数字中的最大值实例代码
  3. 全国高等学校计算机水平考试总结,参加全国计算机等级考试的经历和总结
  4. 检查计算机网络是否连通可运行什么命令,用ping命令如何检测目标主机是否能连通...
  5. 谷歌非洲AI中心成立,有坑,速来
  6. [渝粤教育] 广东-国家-开放大学 21秋期末考试物权法10774k1
  7. 【编程题目】寻找丑数
  8. SQL Server 2012 自动增长列,值跳跃问题
  9. 资源共享——《嵌入式Linux应用开发完全手册》韦东山 PDF电子档下载
  10. 2022码支付个人免签支付源码+监控APP/实测成功
  11. win10专业版无法安装更新解决方法
  12. 计算机共享文件登录人员记录,如何查看共享文件夹的访问记录,查看共享文件访问日志?...
  13. 操作系统和内核有什么区别?
  14. TFT LCD液晶屏显示原理
  15. 普通最小二乘法平面直线回归问题的三种实现(Python)
  16. telegram纯协议电报群发,自动加群,引流自动化解放双手*
  17. 系统克隆 机械硬盘无缝迁移到ssd
  18. python DNA(算法竞赛刷题)
  19. 量化投资界的“Q Quant”和“P Quant
  20. PDF文件如何转换成txt文本文档

热门文章

  1. 怎样为孩子30年后做打算。
  2. 国际象棋电子棋盘大盘点
  3. win10扩展屏幕后 桌面图标在屏幕一和屏幕二上乱了
  4. 最伟大的软件Unix---英雄迟暮
  5. S-属性定义与L-属性定义
  6. 计算机专业业内大神,新南威尔士大学计算机科学专业详解 成为IT大神的好选择...
  7. 吴恩达深度学习课程-Course 2 改善深层神经网络 第三周 TensorFlow入门编程作业
  8. 个人看法---如何做一个视频聊天室?
  9. 【大学物理·静止电荷的电场】有电介质时的高斯定理和环路定理 电位移
  10. android手机听广播,RadioTime让你的android也能听收音机