2012-05-05 22 views
19

में एक बिंदु की तलाश है क्या वेब पेज में प्रदर्शित html5 video में किसी विशेष बिंदु की तलाश करना संभव है? मेरा मतलब है, क्या मैं एक विशेष समय मान इनपुट कर सकता हूं (01:20:30:045 कहें) और उस बिंदु पर प्लेयर नियंत्रण (स्लाइडर) आगे बढ़ें और उस बिंदु से आगे बढ़ें?एचटीएमएल 5 वीडियो

मोज़िला vlcplugin के पुराने संस्करण में मुझे लगता है कि यह seek(seconds,is_relative) विधि से संभव है .. लेकिन मैं जानना चाहता हूं कि यह HTML वीडियो में संभव है या नहीं।

संपादित करें:

मैं वीडियो के साथ पृष्ठ बनाया है और जावास्क्रिप्ट below.When के रूप में मैं लिंक पर क्लिक करें कहा, इसके बारे में click..but यह नाटक स्थान को बढ़ा नहीं है समय प्रदर्शित .. लेकिन सामान्य रूप से खेलना जारी है।

वीडियो प्ले स्थान बदलना नहीं चाहिए?

एचटीएमएल

<video id="vid" width="640" height="360" controls> 
     <source src="/myvid/test.mp4" type="video/mp4" /> 
</video> 
<a id="gettime" href="#">time</a> 
<p> 
you clicked at:<span id="showtime"> </span> 
</p> 

जावास्क्रिप्ट

$(document).ready(function(){ 
    var player = $('#vid').get(0); 
    $('#gettime').click(function(){ 
      if(player){ 
       current_time=player.currentTime; 
       $('#showtime').html(current_time+" seconds"); 
       player.currentTime=current_time+10; 
      } 
     }); 
} 
); 
+0

[एचटीएमएल 5 वीडियो की मांग \ [अद्यतन \]] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/9311570/html5-video-seeking-updated:

यहाँ मेरे वर्तमान के आसपास काम है) – rogerdpack

उत्तर

1

दुर्भाग्य से यह कुछ फिल्म तत्वों यह दूसरों की तुलना में अलग तरह से व्यवहार करती है साथ लगता है। उदाहरण के लिए अमेज़ॅन video_element के साथ, ऐसा लगता है कि आप कहीं भी ढूंढने से पहले रोकना होगा, फिर कॉल करें। हालांकि, अगर आप currentTime सेट करने के बाद "बहुत जल्दी" खेलते हैं तो यह चिपकेगा नहीं। अजीब।

function seekToTime(ts) { 
    // try and avoid pauses after seeking 
    video_element.pause(); 
    video_element.currentTime = ts; // if this is far enough away from current, it implies a "play" call as well...oddly. I mean seriously that is junk. 
    // however if it close enough, then we need to call play manually 
    // some shenanigans to try and work around this: 
    var timer = setInterval(function() { 
     if (video_element.paused && video_element.readyState ==4 || !video_element.paused) { 
      video_element.play(); 
      clearInterval(timer); 
     }  
    }, 50); 
}