मैं एंड्रॉइड डेवलपमेंट में नौसिखिया हूं, इसलिए मेरा प्रश्न मामूली है तो अग्रिम में माफी माँगती है। मेरे ऐप के एक हिस्से में मुझे अपने पिछले कैमरे का लाइव पूर्वावलोकन चाहिए, इसलिए मैंने एक कस्टम क्लास बनाया जो SurfaceView को बढ़ाता है और SurfaceHolder को लागू करता है। कॉलबैक (मैंने मूल रूप से एंड्रॉइड दस्तावेज़ों में निर्देशों का पालन किया)।एंड्रॉइड 5x रिवर्स लैंडस्केप सेंसर एक एंड्रॉइड कैमरा पूर्वावलोकन ऐप में
दुर्भाग्यवश, मैं नेक्सस 5x में अपने ऐप का परीक्षण कर रहा हूं, जिसे मैंने अभी महसूस किया है कि उसने कैमरे सेंसर को विपरीत तरीके से स्थापित किया है। इसी कारण से, मेरे नेक्सस 5x पर चलते समय मेरे ऐप का कैमरा पूर्वावलोकन उल्टा दिखाई देता है, जो कुछ मैं नहीं चाहता हूं।
ऐसा लगता है कि नया android.hardware.camera2 API स्वचालित रूप से इस समस्या को संभालने में सक्षम है। आखिरकार मुझे इस नए एपीआई का उपयोग करके अपने सभी कोड को अपडेट करने की आवश्यकता होगी, लेकिन अब मुझे पुरानी कैमरा एपीआई का उपयोग करते समय एक त्वरित फिक्स चाहिए।
तो मैं वहां पढ़ रहा था और मुझे कोड का एक टुकड़ा मिला जो मुझे इस समस्या को हल करने के लिए SurfaceChanged विधि में पेश करने की आवश्यकता होगी। यहां यह है:
Display display = ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if(display.getRotation() == Surface.ROTATION_0)
{
parameters.setPreviewSize(capHeight, capWidth);
camera.setDisplayOrientation(90);
}
if(display.getRotation() == Surface.ROTATION_90)
{
parameters.setPreviewSize(capWidth, capHeight);
}
if(display.getRotation() == Surface.ROTATION_180)
{
parameters.setPreviewSize(capHeight, capWidth);
}
if(display.getRotation() == Surface.ROTATION_270)
{
parameters.setPreviewSize(capWidth, capHeight);
camera.setDisplayOrientation(180);
}
camera.setParameters(parameters);*/
camera.startPreview();
समस्या यह है कि मुझे नहीं लगता कि कुछ बदल गया है।
कोई विचार?
नेक्सस 6 पी के बारे में क्या? – innich