[英]How to return video duration from custom object constructor function in javascript?
我正在嘗試在自定義視頻構造函數中獲取視頻時長。 這是范圍問題嗎? 我將如何繼續並有效地做到這一點? 視頻顯示正確,我似乎無法從函數外部訪問視頻的時長。
我猜這是初學者常見的范圍內的一個簡單問題。 也許關於addEventListener的使用?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>X</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(document).ready(function(){
var video_1 = new CustomVideo('0.mp4');
video_1.createVideo();
var videoDuration = video_1.durationVideo();
console.log('durationVideo outside function = ' + videoDuration);
});
function CustomVideo(videoSrc){
this.videoSrc = videoSrc;
this.createVideo = createVideo;
this.durationVideo = durationVideo;
var myVideo;
var id_rand;
var id_myVideo;
function createVideo(){
myVideo = document.createElement('video');
id_rand = Math.floor(Math.random() * 999999);
id_myVideo = 'myVideo' + String(id_rand);
document.body.appendChild(myVideo);
myVideo.id = id_myVideo;
myVideo.src = videoSrc;
}
function durationVideo(){
console.log('id_myVideo inside durationVideo =' + id_myVideo);
var v = document.getElementById(id_myVideo);
v.addEventListener( "loadedmetadata", function (e) {
console.log('durationVideo inside func = ' + v.duration);
return v.duration;
}, false );
}
}
</script>
</head>
<body>
</body>
</html>
我希望通過評估durationVideo函數來獲得視頻的時長。
1-您的元素應返回此html結構: 持續時間示例
<video>
<source src="0.mp4" type="video/mp4">
</video>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.