मैं ज़ेडएक्सिंग बारकोड स्कैनिंग लाइब्रेरी का उपयोग कर सफल रहा हूं, लेकिन केवल लैंडस्केप मोड पर।एंड्रॉइड + जेएक्सिंग बारकोड स्कैनिंग लाइब्रेरी - कस्टम आकार और अभिविन्यास
मैं कैमरा पूर्वावलोकन को पोर्ट्रेट मोड पर सेट करने में भी सफल रहा हूं और इसे सही तरीके से दिखा रहा हूं (खींचने के बिना), लेकिन अब बारकोड बिल्कुल काम नहीं करता है। परिवर्तन मैं क्रम में सही ढंग से कैमरा दिखाने के लिए "CameraConfigurationManager.java" पर "setDesiredCameraParameters" करने के लिए बनाया है here're:
void setDesiredCameraParameters(Camera camera)
{
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG, "Setting preview size: " + cameraResolution);
setFlash(parameters);
setZoom(parameters);
camera.setDisplayOrientation(90);
parameters.set("rotation", 90);
parameters.setPreviewSize(cameraResolution.y, cameraResolution.x);
camera.setParameters(parameters);
}
मैं कुछ अन्य स्थानों पर उल्लेख किया समाधान की कोशिश की है, लेकिन या तो वे डॉन काम नहीं करते हैं, या वे काम करते हैं लेकिन कैमरे के पूर्वावलोकन को सही ढंग से नहीं दिखा सकते हैं। उदाहरण: How to use Zxing in portrait mode? http://code.google.com/p/zxing/issues/detail?id=178#c46 https://github.com/pplante/zxing-android/issues
जब मैं उस के साथ समाप्त हो गया हूँ, मैं भी स्कैनिंग के लिए आयत के स्थान & आकार अनुकूलित करने के लिए की जरूरत है। मुझे पता है कि मुझे "CameraManager.java" पर "setManualFramingRect" को बदलने की आवश्यकता है, लेकिन मुझे यकीन नहीं है कि मैं इसे सही तरीके से करता हूं।
public void setManualFramingRect(Rect rect)
{
if (initialized)
{
Point screenResolution = configManager.getScreenResolution();
if (rect.right >= screenResolution.x)
rect.right = screenResolution.x - 1;
if (rect.left < 0)
rect.left = 0;
if (rect.bottom >= screenResolution.y)
rect.bottom = screenResolution.y - 1;
if (rect.top < 0)
rect.top = 0;
framingRect = rect;
Log.d(TAG, "Calculated manual framing rect: " + framingRect);
framingRectInPreview = null;
}
else
_requestedFramingRect = new Rect(rect);
}
निश्चित रूप से
, मैं "openDriver" बदल दिया है कॉल करने के लिए:
if (_requestedFramingRect != null)
setManualFramingRect(_requestedFramingRect);
मेरी मदद कृपया यहाँ उस के लिए कोड है।
संपादित करें: अब मुझे पता चला है कि यह कुछ उपकरणों पर काम नहीं करता है। यह शुरुआत में दुर्घटनाग्रस्त हो जाता है, और यदि आप डीबग करते हैं, तो आप देख सकते हैं कि पूर्वावलोकन भी अच्छा काम नहीं करता है।
मुझे लगता है कि अगला पोस्ट मेरे प्रश्न का उत्तर दे सकता है: http://stackoverflow.com/questions/16252791/how-to-show-zxing-camera-in-portrait-mode-android/16252917#16252917। हालांकि, चूंकि मैंने ज़क्सिंग लाइब्रेरी का परीक्षण किया है, इसलिए मुझे बहुत समय लगता है, मुझे नहीं पता कि यह कितना अच्छा काम करता है। –