2011-12-15 25 views
9

IE हैंडल को छोड़कर आधुनिक ब्राउज़र MJPEG (Motion JPEG)। Here एक उदाहरण बेवकूफ है।मैं कैसे पता लगा सकता हूं कि ब्राउज़र एमजेपीईजी का समर्थन करता है या नहीं?

क्या मैं MJPEG के लिए समर्थन का पता लगा सकता हूं? मैंने व्यर्थ में Modernizr देखा है।

उत्तर

3

मैं अगर छवि या लोड किया जा सकता नहीं पता लगाने के लिए सबसे स्पष्ट रास्ता की कोशिश की है:

$output = $('<img id="webcam">') 
     .attr('src', src) 
     .load(function(){alert('ok')}) 
     .error(function(){alert('error')}); 

मामले छवि में लोड किया जा सकता load गतिविधि सक्रिय की जाएगी, अन्यथा error। हाल ही में क्रोम और आईई 8 में यह जांच की। अपेक्षित के रूप में काम करता है।

+0

यह एंड्रॉइड वेब ब्राउज़र पर काम नहीं करता है। कम से कम दो अलग-अलग सैमसंग फोन पर, डिफ़ॉल्ट एंड्रॉइड ब्राउज़र न तो एमजेपीईजी दिखाता है, न ही लोड या त्रुटि इवेंट को फायर करता है - यह इसे प्रस्तुत किए बिना "पूरी" स्ट्रीम लोड करने का प्रयास करता है। – garlon4

4

Modernizr only supports the following formats for detection right now: ogg, webm and h264.

वीडियो तत्व एक फोन canPlayType(format) कहा जाता है कि वास्तव में अपने ही एकमात्र विकल्प होगा (अगर यह MJPG के लिए काम करता है) है। आपका पहचान तर्क इस तरह कुछ दिखता है (प्रारूप अलग नहीं होगा)।

var videoElement = document.createElement('video'); 
if(!!videoElement.canPlayType) 
{ 
    var browserConfidence = videoElement.canPlayType('video/mjpeg; codecs="insert, them"'); 
    if(browserConfidence == "probably") 
    { 
    // high confidence 
    } 
    else if(browserConfidence == "maybe") 
    { 
    // low confidence 
    } 
    else 
    { 
    // no confidence... it definately will not play 
    } 
} 

सुनिश्चित करें कि आप visit the W3C's information on canPlayType हैं। ऐसा लगता है कि माइम प्रकार "वीडियो/mjpeg" होना चाहिए और "वीडियो/mjpg" नहीं होना चाहिए जैसा आपने पहले निर्दिष्ट किया था।

+0

2016 में कोई अच्छा नहीं। –

1

अफसोस की बात है कि आपको IE में mjpg का समर्थन करने के लिए ActiveX नियंत्रण का उपयोग करने की आवश्यकता होगी। How to embed mjpeg file on a webpage देखें।

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

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