2012-12-10 15 views
10

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

कृपया इस प्रश्न को वास्तविक प्रश्न के रूप में न बंद करें।

उत्तर

8

आप एक साधारण ऐप लिखकर ऐसा नहीं कर सकते क्योंकि आप यह तय नहीं करते कि डिफ़ॉल्ट कैमरा कौन सा है। यह सिस्टम फर्मवेयर द्वारा किया जाता है, और आप एंड्रॉइड एसडीके के माध्यम से इसे संशोधित नहीं कर सकते हैं।

इसे प्राप्त करने का एकमात्र तरीका एक स्रोत स्तर पर एंड्रॉइड को कस्टमाइज़ करना होगा और डिफ़ॉल्ट रूप से डिफ़ॉल्ट कैमरा को यूएसबी से कनेक्ट होने पर कनेक्ट करने के लिए कोड जोड़ना होगा।

3

आप this document के अनुसार ओपनसीवी का उपयोग कर सकते हैं, यह काफी आसान है।

डिफ़ॉल्ट कैम से तख्ते पर कब्जा करने की:

CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANDROID + 0); 

USB से तख्ते पर कब्जा करने की:

CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANDROID + 1); 

OpenCV खुला स्रोत आप here से स्रोत कोड प्राप्त कर सकते हैं, तो आप Android cmake project

की आवश्यकता होगी

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

एंड्रॉइड एक लिनक्स आधारित ऑपरेटिंग सिस्टम है, आप Android terminal emulator डाउनलोड कर सकते हैं और लिनक्स में अपने ऑडियो और वीडियो सेटिंग्स को कस्टमाइज़ कर सकते हैं, आप या तो डिवाइस मैनेजर में अंतर्निहित कैमरा अक्षम कर सकते हैं या बाहरी वेबकैम का उपयोग करने के लिए सेटिंग्स को बदल सकते हैं चूक। लेकिन मैं अंतर्निहित कैमरे को पूरी तरह से अक्षम कर दूंगा।

+0

ओपी यूएसबी कैमरा का उपयोग नहीं करना चाहता। वह डिवाइस पर हर ऐप के लिए इसे डिफ़ॉल्ट बनाना चाहता है। –

+0

ठीक है, मेरा अंतिम संपादन देखें –

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