新闻中心

HTML视频怎么获取视频总时长_J*aScript获取HTML视频duration属性

2025-10-11
浏览次数:
返回列表
视频总时长需在元数据加载后获取,通过监听loadedmetadata事件确保duration属性有效,避免NaN或Infinity,并可用formatTime函数将秒转换为“分:秒”格式显示。

html视频怎么获取视频总时长_javascript获取html视频duration属性

在网页中获取HTML5视频的总时长,可以通过J*aScript访问<video></video>元素的duration属性。这个属性返回视频的总播放时间(单位为秒)。由于视频资源加载需要时间,直接读取可能会得到NaNInfinity,因此必须等待元数据加载完成后再获取。

1. 确保视频元数据已加载

视频的duration只有在元数据加载完成后才可用。可以监听loadedmetadata事件来确保这一点。

示例代码:

const video = document.getElementById('myVideo');

video.addEventListener('loadedmetadata', function() {
  console.log('视频总时长:' + video.duration + ' 秒');
});

2. 处理未加载或网络延迟情况

如果视频尚未设置src或加载缓慢,duration可能无法立即获取。应避免在事件外直接读取。

不推荐的做法:

console.log(video.duration); // 可能输出 NaN 或 Infinity

Kreado AI Kreado AI

Kreado AI是一个多语言AI视频创作平台,只需输入文本或关键词,即可创作真实/虚拟人物的多语言口播视频。 为创作者提供AI赋能

Kreado AI 182 查看详情 Kreado AI

立即学习“J*a免费学习笔记(深入)”;

正确做法:
  • 使用loadedmetadata事件确保元数据已加载
  • 可添加错误处理,判断duration是否有效

3. 格式化显示时长(分:秒)

将秒数转换为更友好的格式,例如“3:45”表示3分45秒。

function formatTime(seconds) {
  const mins = Math.floor(seconds / 60);
  const secs = Math.floor(seconds % 60);
  return `${mins}:${secs < 10 ? '0' : ''}${secs}`;
}

video.addEventListener('loadedmetadata', function() {
  console.log('格式化时长:' + formatTime(video.duration));
});

基本上就这些。只要监听loadedmetadata事件,就能可靠地获取视频总时长,再根据需要进行格式化展示。

以上就是HTML视频怎么获取视频总时长_J*aScript获取HTML视频duration属性的详细内容,更多请关注其它相关文章!


# 多语言  # 龙口集团网站营销推广  # 淄博网站建设app  # 小马哥seo  # 揭阳seo优化知识  # 邛崃网站优化哪里有  # 万家乐公司营销推广策略  # 玉林网站建设服务  # 大连seo推广排名  # 河北seo优化必用  # 南乐县公司网站建设  # 是一个  # 客户端  # html视频  # 视频文件  # 转换为  # 表单  # 查看器  # 加载  # 时长  # 关键词  # html5  # html  # java  # javascript  # 视频时长 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: C++如何生成随机数_C++ random库使用方法与范围设置  J*a递归快速排序中静态变量的状态管理与陷阱  J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程  PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果  动漫花园资源网使用步骤_动漫花园资源网下载流程  Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址  C#中解析不规范的HTML为XML 常见的坑与解决办法  解决深度学习模型训练初期异常高损失与完美验证准确率问题  快速CSGO开箱网站指南 CSGO开箱平台推荐  中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】  c++ 获取系统当前时间 c++时间戳获取方法  CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠  我的世界官方游戏入口 我的世界官网平台直达链接  Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】  顺丰快递查询系统 官方正版查询入口  实现全屏滚动与导航点:专业教程  漫蛙2漫画入口 漫蛙正版网页漫画直达网址  必由学官网入口 必由学教师登录入口  2026春节假期时间安排 2026春节假日查询  J*aScript中管理异步API调用:确保操作顺序与数据一致性  MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景  蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗  Angular中父组件异步更新子组件复选框状态的实践指南  理解J*aScript Promise的微任务队列与执行顺序  生成rdflib自定义SPARQL函数:参数匹配与实践指南  TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法  为什么简单的XML文件也会解析失败? 检查隐藏的非打印字符(如BOM)的方法  学习通网页版快速入口 学习通官网网页版直接打开  抖音网页版企业服务中心登录入口_抖音网页版企业登录平台  Mac怎么锁定备忘录_Mac备忘录加密设置教程  c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解  电脑IP地址怎么查 查看本机IP地址的几种方法  qq邮箱日历功能怎么用_创建日程与会议邀请的技巧  《噬血代码2》新预告片发布 展示游戏剧情  蛙漫安全无毒 官方认证的绿色入口  Python大型XML文件高效流式解析教程  消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技  漫蛙漫画登录站点 漫蛙2正版漫画快速访问  qq游戏网页版直接玩_qq游戏免下载快速入口  微信网页版官方入口直达 微信网页版网页版登录使用方法  Win11截图该按哪些键 Win11截屏完整流程解析【教程】  126邮箱网页版官方入口 126邮箱账号在线登录平台  Excel函数批量查找替换超快方法_Excel用REPLACE和FIND函数秒级替换  Win10桌面图标出现小盾牌怎么办 Win10去除UAC图标教程【解决】  GemBox Document HTML转PDF垂直文本渲染问题及解决方案  如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化  台积电1.4nm工艺A14瞄准2028:10年来性能提升80%  黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】  taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】 

搜索