
本文将介绍如何使用 JavaScript 从视频链接中提取视频时长。通过监听 `loadeddata` 事件,确保视频元数据加载完毕后,即可获取准确的时长信息。本文提供详细的代码示例,帮助开发者轻松实现视频时长的提取和展示。
使用 JavaScript 获取视频时长
在网页中展示视频时,有时需要获取视频的时长并显示给用户。由于视频的元数据(包括时长)需要一定时间加载,因此直接访问视频元素的 duration 属性可能无法立即获取到正确的值。正确的做法是监听视频元素的 loadeddata 事件,在该事件触发后,再获取视频时长。
HTML 结构
首先,需要在 HTML 中添加一个 video 标签,并指定视频的 src 属性。
立即学习“Java免费学习笔记(深入)”;
视频时长
JavaScript 代码
接下来,使用 JavaScript 获取视频元素,并监听 loadeddata 事件。
抖猫高清去水印微信小程序,源码为短视频去水印微信小程序全套源码,包含微信小程序端源码,服务端后台源码,支持某音、某手、某书、某站短视频平台去水印,提供全套的源码,实现功能包括:1、小程序登录授权、获取微信头像、获取微信用户2、首页包括:流量主已经对接、去水印连接解析、去水印操作指导、常见问题指引3、常用工具箱:包括视频镜头分割(可自定义时长分割)、智能分割(根据镜头自动分割)、视频混剪、模糊图片高
let video = document.getElementById("myVideo");
video.addEventListener('loadeddata', function() {
console.log("视频时长:", video.duration);
// 在这里可以进行其他操作,例如将时长显示在页面上
}, false);
function getVideoLength() {
alert(video.duration);
}代码解释
- document.getElementById("myVideo"): 获取 ID 为 "myVideo" 的视频元素。
- video.addEventListener('loadeddata', function() { ... }, false);: 为视频元素添加一个事件监听器,监听 loadeddata 事件。当视频的元数据加载完毕后,该事件会被触发。
- console.log("视频时长:", video.duration);: 在 loadeddata 事件处理函数中,使用 video.duration 获取视频时长,并输出到控制台。video.duration 的单位是秒。
- getVideoLength(): 点击按钮时,弹窗显示视频时长。
完整示例
获取视频时长
视频时长
注意事项
- 确保视频链接是有效的,并且可以被浏览器访问。
- loadeddata 事件只会在视频元数据加载完毕后触发一次。
- video.duration 返回的是视频的总时长,单位为秒。如果需要显示为更友好的格式(例如 "分钟:秒"),需要进行格式化。
总结
通过监听 loadeddata 事件,可以确保在视频元数据加载完毕后获取视频时长。这是一种可靠的方法,可以避免因元数据未加载而导致获取时长失败的问题。希望本文能够帮助你成功获取视频时长并在你的项目中应用。









