0

Express.js でビデオの合計時間を取得しようとしています。以下に、Jade でコードを示します。最初に、ウェブページにビデオを含めます。

video(width='320', height='240', controls='controls')
       source(src='/images/video.mp4', type='video/ogg', id='theVideo')

次に、ボタンのクリック時に次の関数を呼び出します。

function getCurrentTime() {
    var video = document.createElement('video');
    var time = video.duration;
    document.getElementById('myTime').value=time;
   } 

「myTime」は単なるテキスト ボックスです。

input(id='myTime', size='5')

しかし、ビデオを実行すると、持続時間が NaN になります。なぜこれが起こるのかについていくつかの投稿を読もうとしましたが、どうやらそれは「バイト」の問題、またはヘッダーの送信などに関連しているようです。誰かがそれが起こっている理由とそれを修正する方法を私に説明してもらえますか? ありがとう。

4

1 に答える 1

1

これを試して:

ジェイド:

video(width='320', height='240', controls='controls', id='theVideo')
   source(src='/images/video.mp4', type='video/ogg')

JS:

window.addEventListener('load', function(){
     var video = document.getElementById('theVideo');
     video.addEventListener('loadedmetadata', function() {
         console.log(Math.round(video.duration));
     });
});
于 2013-04-18T09:05:38.957 に答える