2013-10-25 9 views
8

मैं वीडियो चलाने के साथ एचटीएमएल 5 में वीडियो अवधि या वीडियो थंब पर दिखाने के लिए वीडियो चलाने से पहले ट्यूब या किसी अन्य वीडियो साइट पर देख रहा हूं।वीडियो चलाने के बिना एचटीएमएल 5 वीडियो अवधि

कोई भी मदद वास्तव में सराहना की जाएगी।

अग्रिम में धन्यवाद।

+2

:

यहाँ सब HTML5 वीडियो घटनाओं की एक विस्तृत सूची है। मुझे यह भी संदेह है कि यूट्यूब ऐसा करता है तो वे अवधि प्राप्त करने के लिए सर्वर पर फिल्म को प्री-प्रोसेस करते हैं। – akonsu

उत्तर

15

एचटीएमएल 5 के लिए फ़ाइल की मेटाडेटा लोड होने के बाद, आप वीडियो टैग की अवधि संपत्ति का उपयोग करने में सक्षम होना चाहिए। एक अच्छा तरीका है के लिए इस सवाल का जवाब देखें यह करने के लिए:

Problem retrieving HTML5 video duration

Mikushi द्वारा anwser के शब्दों में:

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

'loadedmetadata' घटना के लिए सुन कर आप अवधि मान यह सुनिश्चित करेंगे कर दिया गया है लदा हुआ।

loadedmetadata पर अधिक जानकारी यहां पाया जा सकता: http://www.w3schools.com/tags/av_event_loadedmetadata.asp

+2

यह ठीक है, लेकिन मैं पेज लोड पर दिखाना चाहता हूं, कोई भी क्लिक ईवेंट नहीं। – Sajal

+0

यह एक ऑनक्लिक घटना नहीं है, यह तब होता है जब वीडियो मेटा डेटा लोड होता है (किसी भी क्लिक ईवेंट से पहले) यहां अधिक जानकारी: http://www.w3schools.com/tags/av_event_loadedmetadata.asp – ToddBFisher

+2

+1, सहायक कोड के लिए धन्यवाद । हालांकि 'VideoPlayer' के बजाय कॉलबैक के अंदर यह' myVideoPlayer' नहीं होना चाहिए? –

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

एक विशेष घटना वीडियो तत्वों "loadedmetadata" कहा जाता है पर शुरू हो रहा है। एक बार यह ट्रिगर हो जाने पर, अवधि जैसे गुण वीडियो तत्व पर उपलब्ध होते हैं। मुझे लगता है कि यह फिल्म शुरू करने के बिना हमेशा संभव नहीं है 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); 
संबंधित मुद्दे