2013-06-12 11 views
10


एचटीएमएल मीडिया कैप्चर * के लिए ब्राउज़र समर्थन का पता कैसे लगा सकता है?एचटीएमएल मीडिया कैप्चर


परीक्षण के पारंपरिक तरीके से करता है, तो एक विशेषता समर्थित है (iPad और गूगल नेक्सस पर परीक्षण) कुछ उपकरणों पर काम करने के लिए प्रतीत नहीं होता:

var elm = document.createElement(input); 
    if (capture in elm) { 
    return true; 
    } 


वहाँ Modernizr लेकिन यह के लिए एक परीक्षण है (यह एक ही सिद्धांत का उपयोग करता है) विश्वसनीय होना प्रतीत नहीं होता है: https://github.com/Modernizr/Modernizr/pull/909

__

(*) में अधिक एचटीएमएल मीडिया पर कब्जा पर fo:

http://www.w3.org/TR/html-media-capture/
http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-round1

+0

चूंकि आपके ऊपर उपरोक्त परीक्षण काम नहीं करता है, पहले मैं शरीर में तत्व जोड़ता हूं, और मीडिया को स्वीकार करने के लिए एक प्रकार निर्धारित करता हूं (यानी गुण 'type =" file "', 'accept =" image/* "', 'accept =" video/* "', आदि), अगर यह विफल हो जाता है तो मैं शायद उपयोगकर्ता एजेंट स्ट्रिंग और परीक्षण के बावजूद जा रहा हूं यदि ब्राउज़र एक संस्करण है जिसका समर्थन है। साथ ही, आपके पास अपने 'इनपुट' या' कैप्चर' के आस-पास उद्धरण नहीं हैं, इसलिए यह त्रुटि होगी क्योंकि वे अनिर्धारित चर होंगे। –

+0

प्रश्न का उत्तर यहां दिया गया है: http://stackoverflow.com/questions/12199736/detect-html5-media-capture-api-support – mbejda

उत्तर

0

ब्राउज़रों में मीडिया कैप्चर का यह रूप पुराना है, तो बहिष्कृत, और अप्रचलित है। नए मानक, getUserMedia, इसलिए की तरह पता लगाया जा सकता:

function hasGetUserMedia() { 
    return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || 
     navigator.mozGetUserMedia || navigator.msGetUserMedia); 
} 
+3

क्या आप कहां साझा कर सकते हैं कि HTML मीडिया कैप्चर बहिष्कृत और अप्रचलित है? – mscdex

+2

मैं जोड़ता हूं कि यह असंभव है कि यह पुराना है, न ही बहिष्कृत है और न ही अप्रचलित है क्योंकि यह कभी भी ड्राफ्ट से बाहर नहीं चला है। स्ट्रीम एपीआई और एचटीएमएल मीडिया कैप्चर अलग हैं, पूर्व एक स्ट्रीम प्रदान करता है, जब बाद में एक फ़ाइल प्रदान करता है। – Kaiido

1

मुझे आशा है कि मैं गलत हूँ, लेकिन ऐसा लगता है कि हम इस का पता लगाने बनाने के लिए सक्षम नहीं होगा ...

last paper एक अनुरोध पर इस HTML मीडिया कैप्चर एपीआई , (जो स्ट्रीमिंग/getUserMedia API तुलना में अलग है) के रूप में पिछले साल (2014) नियुक्त किया गया, और ड्राफ्ट से बाहर कभी नहीं चला ...

यह comment 2012 से के बारे में फ़ायरफ़ॉक्स में स्पष्ट रूप से इस सुविधा को लागू करने के लिए कहता है कि:

[टी] यहां इसे लागू करने की कोई वास्तविक आवश्यकता नहीं है। यह एंड्रॉइड इंटेंट सिस्टम के साथ मुफ्त में आना चाहिए। हमें केवल ACTION_IMAGE_CAPTURE/ACTION_VIDEO_CAPTURE के इरादे से कॉल करना चाहिए।

जिसका मतलब है कि इस सुविधा सीधे ओएस से आता है, और है कि हम किसी भी तरह से डेवलपर्स को पता है कि अगर यह उपलब्ध है या नहीं होगा नहीं होगा के रूप में ...

तो पता लगाने के लिए एक ही रास्ता यह सुविधा ज्ञात सहायक उपकरणों के खिलाफ उपयोगकर्ताएजेंट मैच प्रतीत होती है ...

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