H5 获取视频时长失败

莱克星顿的枪声 2017-09-07 02:10:11

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js获取视频总时长</title>
</head>
<body>

<video id="test" controls>
<source src="Passenger%20-%20Let%20Her%20Go.mp4">
您的浏览器不支持video标签
</video>


<video id="movFormat" controls>
<source src="01.MOV">
您的浏览器不支持video标签
</video>

<div>
<input type="button" onclick="getTime()" value="获取mp4格式视频的总时长">
</div>

<script>
function getTime() {
var test = document.getElementById("test");
var time = test.duration;
time = parseInt(time);
alert(time);
}

var test = document.getElementById("test");
//成功获取资源长度执行
/* test.onloadedmetadata = function () {
//获取视频时长
var time = test.duration;
time = parseInt(time);
console.log("mp4:" + time);
alert("mp4:" + time);
}*/

// 当媒介能够开始播放但可能因缓冲而需要停止时运行脚本
test.oncanplay=function () {
//获取视频时长
var time = test.duration;
time = parseInt(time);
console.log("mp4:" + time);
alert("mp4:" + time);
}

var mov = document.getElementById("movFormat");
/* mov.onloadedmetadata=function () {
var time = mov.duration;
//获取mov格式的时长
time=parseInt(time);
console.log("mov:"+time);
alert("mov:"+time);
}*/


//当媒介能够开始播放但可能因缓冲而需要停止时运行脚本
mov.oncanplay=function () {
var time = mov.duration;
//获取mov格式的时长
time=parseInt(time);
console.log("mov:"+time);
alert("mov:"+time);
}
</script>
</body>
</html>

这个代码是要在微信浏览器上执行的,但是 无论是 oncanplay 事件还是 onloadedmetadata事件之后获取视频时间的时长,结果都是0,但在pc浏览器上可以正常获取视频时长,在手机微信浏览器上,如果视频播放后,再去获取时长,又是可以获取正常的视频时长,不知道为什么啊
...全文
528 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧