簡體   English   中英

如何從JavaScript中的自定義對象構造函數返回視頻時長?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM