JS指定音频audio在某个时间点进行播放
网络编程 2021-07-04 14:07www.168986.cn编程入门
这篇文章主要介绍了JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
前言
今天接到一个需求,需要获取某个.mp3音频文件的时间长度和指定音频audio在某个时间点进行播放(比如说这个视频有4分钟,我要让它默认从第2秒的时候开始播放),这里想到了H5中的audio元素,我们平时看这个标签上显示的音频时间格式是时:分:秒的格式的需要涉及到秒和时间格式的转化。因为刚开始对这块十分的陌生,通过查阅了网上的一些资料,最终完美的把这些功能点做好了。在这里分享一下,希望能够帮助有需要的小伙伴。
获取音频时长
function getAudioDuration(src) { let audio = document.createElement('audio') //生成一个audio元素 audio.src = src //音乐的路径 audio.addEventListener("canplay", function () { console.log("音频长度=>>>", parseInt(audio.duration) + '秒', '音频时分秒格式', timeToMinute(parseInt(audio .duration))); }); }
指定音频audio在某个时间点进行播放
指定默认从第20s开始播放效果图
// 音频加载完成后的一系列操作 function duration() { var myVid = document.getElementById("videoDiv"); console.log("duration ", myVid); if (myVid != null) { var duration; myVid.load(); //方法重新加载音频/视频元素 // https://.w3school../tags/av_prop_currenttime.asp // currentTime 属性设置或返回音频/视频播放的当前位置(以秒计)。 // 当设置该属性时,播放会跳跃到指定的位置。 myVid.currentTime = 20; //默认指定音频默认从20s的时候开始播放(默认时间为s) myVid.oncanplay = function () { //duration 属性返回当前音频的长度,以秒计。 console.log("音频时间", myVid.duration); console.log("时分秒格式转化", timeToMinute(myVid.duration)) } } }
秒转换时分钟00:00:00时分秒格式
function timeToMinute(times) { var t; if (times > -1) { var hour = Math.floor(times / 3600); var min = Math.floor(times / 60) % 60; var sec = times % 60; if (hour < 10) { t = '0' + hour + ":"; } else { t = hour + ":"; } if (min < 10) { t += "0"; } t += min + ":"; if (sec < 10) { t += "0"; } t += sec.toFixed(2); } t = t.substring(0, t.length - 3); return t; }
00:00:00时分秒格式转化为秒
function timeEvent(e) { let time = e; var len = time.split(':'); if (len.length == 3) { var hour = time.split(':')[0]; var min = time.split(':')[1]; var sec = time.split(':')[2]; return Number(hour 3600) + Number(min 60) + Number(sec); } if (len.length == 2) { var min = time.split(':')[0]; var sec = time.split(':')[1]; return Number(min 60) + Number(sec); } if (len.length == 1) { var sec = time.split(':')[0]; return Number(sec); } }
完整代码
<!DOCTYPE html> <html> <head> </head> <body> <audio controls aulay start="01:00" id='videoDiv'> <source src="http://mp3.9ku./hot/2005/05-19/65937.mp3" type="audio/ogg"> </audio> <script src="http://libs.baidu./jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> $(function () { //js获取某个mp3音频文件的播放时长 getAudioDuration('http://mp3.9ku./hot/2005/05-19/65937.mp3'); duration(); console.log("转化为多少秒=》》", timeEvent("00:14:36")); }) // 音频加载完成后的一系列操作 function duration() { var myVid = document.getElementById("videoDiv"); console.log("duration ", myVid); if (myVid != null) { var duration; myVid.load(); //方法重新加载音频/视频元素 // https://.w3school../tags/av_prop_currenttime.asp // currentTime 属性设置或返回音频/视频播放的当前位置(以秒计)。 // 当设置该属性时,播放会跳跃到指定的位置。 myVid.currentTime = 20; //默认指定音频默认从20s的时候开始播放(默认时间为s) myVid.oncanplay = function () { //duration 属性返回当前音频的长度,以秒计。 console.log("音频时间", myVid.duration); console.log("时分秒格式转化", timeToMinute(myVid.duration)) } } } function getAudioDuration(src) { let audio = document.createElement('audio') //生成一个audio元素 audio.src = src //音乐的路径 audio.addEventListener("canplay", function () { console.log("音频长度=>>>", parseInt(audio.duration) + '秒', '音频时分秒格式', timeToMinute(parseInt(audio .duration))); }); } // 秒转换时分钟00:00:00格式 function timeToMinute(times) { var t; if (times > -1) { var hour = Math.floor(times / 3600); var min = Math.floor(times / 60) % 60; var sec = times % 60; if (hour < 10) { t = '0' + hour + ":"; } else { t = hour + ":"; } if (min < 10) { t += "0"; } t += min + ":"; if (sec < 10) { t += "0"; } t += sec.toFixed(2); } t = t.substring(0, t.length - 3); return t; } // 00:00:00时分秒格式转化为秒 function timeEvent(e) { let time = e; var len = time.split(':'); if (len.length == 3) { var hour = time.split(':')[0]; var min = time.split(':')[1]; var sec = time.split(':')[2]; return Number(hour 3600) + Number(min 60) + Number(sec); } if (len.length == 2) { var min = time.split(':')[0]; var sec = time.split(':')[1]; return Number(min 60) + Number(sec); } if (len.length == 1) { var sec = time.split(':')[0]; return Number(sec); } } </script> </body> </html>
参考文章
到此这篇关于JS指定音频audio在某个时间点进行播放的文章就介绍到这了,更多相关JS音频audio长度内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
上一篇:webpack4从0搭建组件库的实现
下一篇:Vue用mixin合并重复代码的实现
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南