2011-12-27 13 views

उत्तर

0

अद्यतन:

ZXing के पूछे जाने वाले प्रश्न के रूप में के बाद से मैं इस उत्तर पोस्ट अद्यतन किया गया है, नीचे दिए गए सामग्री अब सही है:

आप पढ़ सकते हैं ZXing के FAQ है?

क्या इसका उपयोग एंड्रॉइड डिवाइस पर केवल फ्रंट फ्रंट कैमरा के साथ किया जा सकता है, जैसे नेक्सस 7 टैबलेट? इस समय नहीं। एप्लिकेशन को एक कैमरा की आवश्यकता है। एंड्रॉइड में, केवल पीछे कैमरों को 'असली' कैमरे, माना जाता है और इसलिए केवल सामने वाले कैमरे वाले डिवाइस असंगत होते हैं। इसके अलावा, एपीआई फ्रंट कैमरों के लिए समर्थन बाद में एंड्रॉइड रिलीज में की तुलना में ऐप द्वारा आवश्यक है। फ्रंट-फेस कैमरों में कम संवेदनशील सीसीडी और ऑटो-फोकस की कमी होती है, जिससे उन्हें स्कैन करना मुश्किल हो जाता है।

हालांकि, Barcode Scanner+ केवल कैमरा के साथ डिवाइस का समर्थन करता है।

इसके अलावा, हालांकि मुझे लगता है कि अगर आप सामने वाले कैमरे को जोड़ सकते हैं तो यह पूरी तरह असंभव नहीं है। इसलिए, मुझे लगता है कि आप एंड्रॉयड प्रलेखन का कैमरा धारा पर एक नज़र रखना चाहिए: here और here

+0

(यह अब सत्य नहीं है और अक्सर पूछे जाने वाले प्रश्न आइटम को हटा दिया गया है।) –

+0

@ सेनऑवेन धन्यवाद, मैंने अपना जवाब – dumbfingers

5

Barcode Scanner के नवीनतम संस्करण के साथ-साथ ZXing source code अब कैमरे का सामना करना पड़ सामने का समर्थन करता है।

1) यहां स्रोत कोड डाउनलोड: http://code.google.com/p/zxing/source/checkout

2) ग्रहण में एक नई परियोजना के रूप में स्रोत कोड आयात करें और इस परियोजना की जड़ बनाने के फोल्डर/एंड्रॉयड होना (

+0

पर रोक दिया है, लेकिन मैं इसे प्राथमिकता में खोजता हूं लेकिन सेटिंग्स नहीं ढूंढ सकता। आप उसे कैसे करते हैं ? – Natim

+0

@ नटिम मुझे याद है कि इसे स्वचालित रूप से संभाला जा रहा है। बैक फेस कैमरा का उपयोग डिफ़ॉल्ट रूप से किया जाता है, लेकिन अगर ऐसा कोई कैमरा नहीं है तो सामने वाले कैमरे का उपयोग किया जाता है। –

+0

मेरा बैक कैमरा टूटा हुआ है, काश मैं आगे के साथ कोशिश कर सकता हूं। – Natim

9

इन चरणों का पालन स्रोत कोड में मिला)।

3) इस परियोजना में सबकुछ/core/src के अंतर्गत प्रतिलिपि बनाना सुनिश्चित करें, क्योंकि चरण 2 पर आयात किए गए स्रोत कोड की आवश्यकता है।

4) ग्रहण पर जावा 1.6 पर अपने कंपाइलर को सेट करना सुनिश्चित करें (अपनी परियोजना, गुण, जावा कंपाइलर पर राइट क्लिक करें) अन्यथा आपको @ ओवरराइड एनोटेशन के बारे में कुछ त्रुटियां मिलेंगी।

5) के रूप में इस वर्ग com.google.zxing.client.android.camera.open.GingerbreadOpenCameraInterface संपादित करें:

while (index < numCameras) { 
     Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); 
     Camera.getCameraInfo(index, cameraInfo); 


     if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { 
      break; 
     } 
     /*//Original code (gets the back camera. This is NOT what you want!) 
     if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) { 
    break; 
    }*/ 
    index++; 
} 

5) एक पुस्तकालय के रूप में इस परियोजना के लिए, के रूप में आसानी यहाँ वर्णित: http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

6) इस परियोजना को अपने असली प्रोजेक्ट में संदर्भित करें (अपने वास्तविक प्रोजेक्ट, गुण, जावा बिल्ड पथ, प्रोजेक्ट्स, एड पर राइट क्लिक करें)।

7) आप कर चुके हैं! =)

उम्मीद है कि यह मदद करता है।

+0

अच्छा विवरण टियागो :) –

+0

है टियागो, मैंने सामने वाले कैमरे को लागू किया जैसा आपने जोर दिया था। लेकिन यह परिणाम स्कैन और परिणाम प्राप्त नहीं करता है। एक साधारण कैमरा दृश्य दिखा रहा है। अगर मैं इसके सामने बारकोड दिखाता हूं। कुछ नहीं हुआ। कोई ढेर निशान नहीं। क्या समस्या हो सकती है? क्या आप कृपया मेरी मदद करें –

+0

समस्या यह है कि आपके द्वारा उपयोग किए जाने वाले फ्रंट कैमरे में ऑटोफोकस नहीं है, जो बारकोड को पढ़ने में वाकई मुश्किल हो जाता है। फ्रंट कैमरों में आमतौर पर उनका फोकस लॉक होता है (उन्हें सस्ता बनाने के लिए) जो उन्हें करीबी वस्तुओं के लिए अच्छा नहीं बनाता है। ऑटोफोकस की कमी के कारण मुझे बारकोड पढ़ने के लिए सामने वाले कैमरों के साथ भी समस्याएं आई हैं। कभी-कभी इसमें 1 मिनट से अधिक समय लगेगा जब तक कि मैं बारकोड को पहचानने में सक्षम न हो। अन्य बार, मैं कैमरे को बारकोड नहीं पढ़ सका। समस्या सॉफ़्टवेयर में नहीं बल्कि कैमरे में है। – Tiago

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