मेरे पास एक चल रहा वीडियो ऐप है जो लेनोवो टैब 4 8 को छोड़कर 7.0 और उच्चतर चलने वाले कई एंड्रॉइड टैबलेट के लिए 1280x720 में वीडियो रिकॉर्ड कर रहा है।

कैमरा 2 एपीआई का उपयोग करके मैं समर्थित पूर्वावलोकन आकारों को क्वेरी करके कैप्चरिंग सेट करता हूं। Lenovo Tab4 8 आश्चर्यजनक रूप से केवल इन पूर्वावलोकन आकारों को लौटाता है:

1040x780, 864x480, 640x640, 800x480, 720x480, 768x432, 640x480, 480x640, 576x432, 640x360, 480x360, 480x320, 384x288, 352x288, 320x240, 240x320, 240x160, 176x144, 144x176, 160x

लेकिन बिल्ट इन कैमरा 1920x1080 भी 1280x720 को सपोर्ट करता है। केवल रिज़ॉल्यूशन या पूर्वावलोकन आकार को 1280x720 पर सेट करने का प्रयास एक त्रुटि के साथ समाप्त होता है। android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): submitRequestList - must configure device with valid surfaces before submitting requests

अन्य कैमरा ऐप्स इसे कैसे संभाल सकते हैं? मैंने प्लेस्टोर से "ओपन कैमरा" डाउनलोड किया। इसमें 1280x720 पर कब्जा करने का विकल्प है (लेकिन 1040x780 नहीं?!)

0
Csharpest 26 अक्टूबर 2018, 16:23

1 उत्तर

सबसे बढ़िया उत्तर

मुझे पता चला है कि इसका क्या कारण है। लेनोवो के इस टैबलेट में "लीगेसी कैमरा" है, जिसका अर्थ है कि कैमरा कैमरा एपीआई की सेवा के लिए बनाया गया था लेकिन कैमरा 2 एपीआई नहीं।

इस मामले में कैमरा 2 एपीआई कैमरा एपीआई का सिर्फ एक आवरण है, लेकिन यह हर कार्यक्षमता को उजागर नहीं कर सकता है और इसलिए कुछ प्रस्तावों के लिए समर्थन गायब है।

निम्नलिखित कॉलों के साथ अब मैं यह पता लगा सकता हूं कि क्या मेरा उपकरण किसी पुराने कैमरे में है:

Xamarin.एंड्रॉयड:

CameraCharacteristics characteristics = camManager.GetCameraCharacteristics(cameraId);
var hardwareLevel = characteristics.Get(CameraCharacteristics.InfoSupportedHardwareLevel);

//hardwareLevel.ToString() would spit out one of the following numbers:
//LEGACY - 2 -> Legacy Cameras might not support 1280x720 resolution
//LIMITED - 0
//FULL - 1
//LEVEL_3 - 3
0
Csharpest 29 अक्टूबर 2018, 15:06