2012-03-13 21 views
11

एचटीएमएल 5 सामान सीखने के लिए टाइमअपडेट ईवेंट कितनी बार आग लगती है। यह बहुत बढ़िया है! आश्चर्य की बात है कि टाइमअपडेट घटना कितनी बार आग लगती है।एचटीएमएल 5 वीडियो

साइड नोट: जेएस वीडियो एपीआई के साथ इतनी सारी रोचक संभावनाएं हैं। उदाहरण के लिए, वीडियो के माध्यम से खोजने के लिए ctrl + f का उपयोग करना संभव हो सकता है। वीडियो प्रोसेसिंग के हिस्से के रूप में वॉयस रिकॉर्डेन चलाएं, फिर टाइमस्टैम्प के साथ एक लंबी कुंजी वैल्यू स्टोर बनाएं, चाबियाँ और शब्दों के रूप में शब्दों के रूप में, और एक फ़ंक्शन लिखें जो उन शब्दों के उदाहरणों की खोज करता है, लेकिन टाइमस्टैम्प देता है और आपका वीडियो चाहता है। वैसे भी, यह सिर्फ एक पागल विचार है यूट्यूब पर कूदना चाहिए।

टाइमअपडेट के साथ कोई भी मदद शानदार होगी!

+0

से cribbed अरे, यह शब्द खोज एक बहुत अच्छा विचार है! – SexyBeast

+0

किसी ऐसे व्यक्ति को जानें जो Vimeo या YouTube पर काम करता है जो इसे लागू कर सकता है? – Costa

+0

नहीं। इसमें अपने स्वयं के chalenges होगा। यदि वीडियो में उपशीर्षक हैं तो वीडियो को इंडेक्स करना मुश्किल है, लेकिन यदि ऐसा नहीं है, तो सर्वर को पाठ को भाषण स्वचालित करना होगा। चूंकि यह हमेशा 5-10 सेकेंड का वीडियो नहीं होता है, इसलिए लगभग 10 मिनट लंबा हो सकता है, इसलिए प्रक्रिया को काफी लंबे ऑडियो को पाठ में परिवर्तित करना होता है, जो स्वयं मुश्किल है, सटीकता को अलग करता है। – SexyBeast

उत्तर

22

this Bugzilla page के अनुसार:

Firefox fires the timeupdate event once per frame. Safari 5 and Chrome 6 fire every 250ms. Opera 10.50 fires every 200ms.

+0

एमएमएम .... ब्राउज़र quirks। धन्यवाद! – Costa

+5

फ़ायरफ़ॉक्स बीटीडब्ल्यू जाओ, जो प्रति फ्रेम एक बार ऐसा करने के लिए इतना समझ में आता है। – Costa

+1

जब तक कि किसी प्रकार की कॉलबैक बाध्यकारी न हो; 25 बार एक कॉलबैक फायरिंग काफी गहन हो सकता है ... खासकर जब आप इसे थ्रॉटल नहीं कर सकते। –

2

मैं एक सामान्य थ्रोटल समारोह

_self.throttle = function (fn, threshhold, scope) { 
    threshhold || (threshhold = 250); 
    var last, 
     deferTimer; 
    return function() { 
     var context = scope || this; 

     var now = +new Date, 
      args = arguments; 
     if (last && now < last + threshhold) { 
      // hold on to it 
      clearTimeout(deferTimer); 
      deferTimer = setTimeout(function() { 
       last = now; 
       fn.apply(context, args); 
      }, threshhold); 
     } else { 
      last = now; 
      fn.apply(context, args); 
     } 
    }; 
}; 

इस्तेमाल किया और इसे तार के साथ

myPlayer.on('timeupdate', window.vm.throttle(function() { 
     window.vm.setWatched(myPlayer.currentTime()); 
    }, 3000)); 

आशा है कि यह किसी को मदद मिलती है।

कोड http://remysharp.com/2010/07/21/throttling-function-calls/

+0

क्या MyPlayer = document.querySelector ('audio') है? चूंकि Uncaught TypeError: ऑब्जेक्ट # के पास कोई विधि नहीं है 'चालू' – loretoparisi

संबंधित मुद्दे