0

ビデオは実行中ですが、video.getCurrentTime()がdiv id = "test"にまったく表示されないことを除いて、setIntervalを持つ他の関数は正常に実行されます。ビデオが実行されるたびにビデオ時間を表示したい。理由がわかりませんでした。ここに私のサンプルコード、

<html>
<head>
<script>
setInterval(function(){

                    var t = document.getElementById('test');

                    video = document.getElementById('caption');

                    t.innerHTML = video.getCurrentTime();


            },1000);
</script>
</head>

    <body>

        <div>
            <video id="caption" width="320" height="240" controls>
                <source src="caption.mp4" type="video/mp4">
            </video> 
        </div>
        <div id="container">
        </div>
        <div id ="timer">
        </div>
        <div id = "test">   
        </div>
    </body>
</html>
4

2 に答える 2

1

動作するバージョンは次のとおりです。

<html>
<head>
</head>

<body>

    <div>
        <video id="caption" width="320" height="240" controls="">
            <source src="caption.mp4" type="video/mp4">
        </video> 
    </div>
    <div id="container">
    </div>
    <div id ="timer">
    </div>
    <div id="test">Hello   
    </div>
    <script>
        function displayTime(){
            var time = document.getElementById('test');

            var video = document.getElementById('caption');

            //time.innerHTML = video.currentTime;

            var text = "", cap = "";

                for( int i = 0; i < subtitleArray.length;i++)
                {
                    //var currentTime = video.currentTime();
                    var cueStart = parseFloat(subtitleArray[i][0]);
                    var cueEnd = cueStart + parseFloat(subtitleArray[i][1]);
                    //var diff = cueStart - currentTime;

                    cap = subtitleArray[i][2];

                    if (video.currentTime >= cueStart && video.currentTime <= cueEnd) {
                       text = cap.text;   
                    }
                }

                t.innerHTML = text; 
        }
        setInterval(displayTime,1000);
</script>
    </body>
</html>
于 2013-03-20T16:05:47.113 に答える
0

I think it would be video.currentTime, not getCurrentTime and its better to put script tag at end of body, or you can do $(document).ready(function(){ }); in jquery

于 2013-03-20T15:46:27.873 に答える