2013-10-25 28 views
8

HTML5'te video oynatmaya çalışırken video oynatmaya veya video tüpünde video tüpünde ya da başka bir video sitesinde gördüğünüz gibi görünmeden önce video oynatmaya çalışıyorum.HTML5 Video oynatılmadan video süresi

Herhangi bir yardım gerçekten minnettar olacaktır.

Teşekkürler.

+2

Ben filmi başlatmadan her zaman mümkün olmadığını düşünüyorum. Ayrıca, eğer youtube yaparsa, süreyi almak için sunucudaki filmi önceden işlemden geçirdiğinden de şüpheleniyorum. – akonsu

cevap

15

HTML5 için, dosyanın meta verileri yüklendikten sonra video etiketinin duration özelliğini kullanabilmeniz gerekir. iyi bir şekilde için bu yanıta bakın bunu yapmak için:

Problem retrieving HTML5 video duration

Mikushi tarafından anwser alıntı:

myVideoPlayer.addEventListener('loadedmetadata', function() { 
    console.log(videoPlayer.duration); 
}); 

'loadedmetadata' etkinliğini dinleyerek ederek süre değeri sağlayacaktır olmuştur yüklendi. loadedmetadata üzerinde

Daha fazla detay burada bulunabilir: http://www.w3schools.com/tags/av_event_loadedmetadata.asp

+2

tamam, ancak sayfa yüklemesinde hiçbir tıklama olayı göstermemek istiyorum. – Sajal

+0

Bu bir onclick olayı değil, video meta verisi yüklendiğinde (herhangi bir tıklama olayından önce) daha fazla bilgi burada bulabilirsiniz: http://www.w3schools.com/tags/av_event_loadedmetadata.asp – ToddBFisher

+2

+1, yardımcı kod için teşekkürler . Gerçi videovideo'um yerine 'VideoPlayer' yerine "videomplay" olmalı mı? –

0
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script type="text/javascript"> 
     function getDuration() { 
      var s = document.getElementById('a'); 
      alert(s.duration) 
     } 
    </script> 
</head> 
<body> 
<div> 
    <video src="2.mp4" id="a" controls="controls"></video> 
    <button onclick="getDuration()">get duration</button> 
</div> 
</body> 

</html> 
0

özel bir olay "loadedmetadata" denilen Video öğelerinde tetikleyen yoktur. Bu bir kez tetiklendiğinde, video elemanı üzerinde süre gibi özellikler kullanılabilir.

İşte tüm HTML5 video etkinliklerinin kapsamlı listesi burada: http://www.w3.org/2010/05/video/mediaevents.html

0
// Assume "video" is the video node 
var i = setInterval(function() { 
    if(video.readyState > 0) { 
     var minutes = parseInt(video.duration/60, 10); 
     var seconds = video.duration % 60; 

     // (Put the minutes and seconds in the display) 

     clearInterval(i); 
    } 
}, 200);