სმარტფონის აპარატურას ხშირად შეუძლია იმაზე მეტი, ვიდრე პროგრამული უზრუნველყოფა ნაგულისხმევად იძლევა. ეს არის ზუსტად მიზეზი Google კამერის პორტები ძალიან პოპულარული გახდა ჩვენს ფორუმებზე, რადგან ბევრი მიიჩნევს მათ, როგორც მარტივ გზას სურათების ხარისხის მკვეთრად გასაუმჯობესებლად მოწყობილობების ფართო სპექტრზე. პორტირებული Google Camera აპით შეგიძლიათ გამოიყენოთ Google-ის უმაღლესი HDR+ ოპტიმიზაცია, ისევე როგორც მათი პორტრეტის რეჟიმი თქვენს არა Google მოწყობილობაზე. თუმცა, ამ პორტების კითხვისას აუცილებლად შეგხვედრიათ კონკრეტული ტერმინი - "Camera2 API". ამ გაკვეთილზე თქვენ შეიტყობთ, რას ნიშნავს სინამდვილეში ეს ტერმინი და როგორ შეგიძლიათ შეამოწმოთ Camera2 API მხარდაჭერის სტატუსი თქვენს Android ტელეფონებზე.
რა არის Camera2 API?
თქვენი ტელეფონის ფიზიკური კამერის მოდული წარმოუდგენლად რთული ტექნიკის ნაწილია, მაგრამ Android-ს არ სჭირდება ყველაფერი იცოდეს დაბალი დონის პარამეტრები მასთან ურთიერთობისთვის, კამერის Hardware Abstraction Layer (HAL) წყალობით, რომელიც დანერგილია SoC-ის მიერ. გამყიდველები. კამერისთვის სპეციფიკური აპლიკაციის პროგრამირების ინტერფეისი (API) მდებარეობს HAL-ის თავზე და მოქმედებს როგორც აპლიკაციის დონის საჯარო ჩარჩო. მოკლედ რომ ვთქვათ, კამერის API აპებს საშუალებას აძლევს გამოიკვლიონ კამერის ფუნქციები მოწყობილობაზე გამარტივებული გზით, კამერის სენსორის სიმძიმის შეწუხების გარეშე.
Google-მა გააცნო Camera2 API Android 5.0 Lollipop-ში, როგორც ორიგინალის მემკვიდრე კამერის API რათა უკეთ განისაზღვროს, თუ როგორ შეუძლიათ აპებს ურთიერთქმედება თქვენს სმარტფონთან დაკავშირებულ ცალკეულ კამერებთან. ის ასახავს აპებს კამერის რამდენიმე მარცვლოვან კონტროლს, მათ შორის ეფექტური ნულოვანი ასლის ადიდებული/სტრიმინგის ნაკადებს და თითო კადრზე კონტროლები ექსპოზიციის, მომატების, თეთრი ბალანსის მიღწევების, ფერის კონვერტაციის, დენოიზირების, სიმკვეთრის და სხვა.
Არიან, იმყოფებიან მხარდაჭერის ხუთი განსხვავებული დონე Camera2 API-სთვის:
- მემკვიდრეობა: ძველი მოწყობილობები, რომლებსაც არ გააჩნიათ Camera API2 ფუნქციების მხარდაჭერა, როგორიცაა თითო ჩარჩოზე კონტროლი. ეს მოწყობილობები ავლენს აპებს კამერის API2 ინტერფეისების საშუალებით, რაც დაახლოებით იგივეა, რაც აპებს კამერის API1 ინტერფეისების საშუალებით.
- შეზღუდული: ეს მოწყობილობები მხარს უჭერენ კამერის API2 შესაძლებლობების მხოლოდ ქვეჯგუფს.
- სრული: ეს მოწყობილობები მხარს უჭერენ Camera API2-ის ყველა ძირითად შესაძლებლობებს და უნდა გამოიყენონ კამერა HAL 3.2 ან უფრო მაღალი და Android 5.0 ან უფრო მაღალი.
- დონე_3: ეს მოწყობილობები მხარს უჭერენ YUV გადამუშავებას და RAW გამოსახულების გადაღებას, დამატებით გამომავალი ნაკადის კონფიგურაციებთან ერთად Camera2 API სრული მხარდაჭერის თავზე.
- გარე: LIMITED მოწყობილობების მსგავსი ზოგიერთი გამონაკლისებით (მაგ. ზოგიერთი სენსორის ან ლინზების შესახებ ინფორმაცია შეიძლება არ იყოს მოხსენებული ან აქვს ნაკლებად სტაბილური კადრების სიხშირე). ეს დონე გამოიყენება გარე კამერებისთვის, როგორიცაა USB ვებკამერები.
რაც შეეხება მომხმარებლების უმეტესობას, მიზეზი, რის გამოც თქვენ ყველას უნდა ზრუნავდეთ Camera2 API-ს მხარდაჭერაზე, არის ის, რომ აუცილებელია Google Camera პორტებმა იმუშაონ თქვენს სმარტფონზე.
როგორ შეამოწმოთ ჩართულია თუ არა Camera2 API
ვებგვერდი ამისთვის გამოსახულების ტესტის კომპლექტი თავსებადობის ტესტის კომპლექტის (CTS) ნაწილი აცხადებს, რომ კამერა HAL3 კატეგორიულად რეკომენდებულია Camera2 API-ის მხარდაჭერა სერთიფიცირებული მოწყობილობები მუშაობს Android 9 ან უფრო მაღალი. როგორც ითქვა, წარსულში ბევრ მოწყობილობას არ ჰქონდა Camera2 API მხარდაჭერა გარედან. API-ს გასააქტიურებლად, ზოგიერთ მათგანს სჭირდება ან root, რათა შეცვალოს მათი build.prop, ან უბრალოდ განბლოკილი ჩამტვირთველი, რათა აწარმოოს გამყიდველის სპეციფიკური Fastboot ბრძანებები. თუმცა ცოტა ხნის წინ, ყველაფერი შეიცვალა.
თქვენს მოწყობილობაზე Camera2 API-ის მხარდაჭერის სტატუსის გასაგებად, აირჩიეთ ერთ-ერთი შემდეგი მეთოდი.
მეთოდი 1: ADB-ის გამოყენება
სანამ დაიწყებთ ამ მეთოდს, დარწმუნდით, რომ გაქვთ წვდომა PC/Mac-ზე დაინსტალირებულია ADB და Fastboot.
- თქვენს ტელეფონზე ჩართეთ USB გამართვა დეველოპერის პარამეტრებიდან.
- შეიძლება დაგჭირდეთ ჩართეთ დეველოპერის პარამეტრები პირველი.
- შეაერთეთ თქვენი მოწყობილობა PC/Mac-თან.
- გახსენით Command Prompt ან PowerShell (Windows) ან ტერმინალის ფანჯარა (macOS ან Linux).
- იმ შემთხვევაში, თუ ADB ბინარის მდებარეობა არ არის განსაზღვრული გლობალური PATH პარამეტრებში, თქვენ უნდა შეცვალოთ shell-ის სამუშაო დირექტორია იმ ადგილას, სადაც განთავსებულია ADB ორობითი.
- შეიყვანეთ შემდეგი ბრძანება:
adb shell "getprop | grep HAL3"
- თუ შედეგი არის ერთ-ერთი შემდეგი:
[persist.camera.HAL3.enabled]: [1]
, მაშინ თქვენს მოწყობილობას აქვს კამერა HAL3 სრული Camera2 API მხარდაჭერით.[persist.vendor.camera.HAL3.enabled]: [1]
მეთოდი 2: ტერმინალის ემულატორის გამოყენება
თუ არ გსურთ PC/Mac-ის გამოყენება, მაშინ შეგიძლიათ გამოიყენოთ ნებისმიერი ტერმინალის ემულატორი აპი, რათა შეამოწმოთ Camera2 API-ს სტატუსი პირდაპირ თქვენი ტელეფონიდან.
- ჩამოტვირთეთ თქვენი არჩევანის ტერმინალის ემულატორის აპლიკაცია. ქვემოთ ჩამოვთვალეთ რამდენიმე პოპულარული.
- გახსენით აპლიკაცია და შეიყვანეთ შემდეგი ბრძანება:
getprop | grep HAL3
- თუ შედეგი არის ერთ-ერთი შემდეგი:
[persist.camera.HAL3.enabled]: [1]
, მაშინ თქვენს მოწყობილობას აქვს კამერა HAL3 სრული Camera2 API მხარდაჭერით.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
გაითვალისწინეთ, რომ HAL3 მხარდაჭერის არსებობა არ ნიშნავს იმას, რომ Camera2 API-ის ყველა ფუნქცია ხელმისაწვდომია, როგორც კომპანიას მაინც შეუძლია შეცვალოს ფუნქციები, როგორიცაა RAW გადაღების მხარდაჭერა, ISO დონეები, ექსპოზიციის დრო და მეტი. ამიტომ ჩვენ გირჩევთ აირჩიოთ მესამე მეთოდი, რადგან ის უფრო დეტალურ ინფორმაციას გვთავაზობს.
მეთოდი 3: გამოყოფილი მესამე მხარის აპლიკაციის გამოყენება
არ გსურთ ბრძანების ხაზის ინტერფეისის შეხება? შემდეგ უბრალოდ ჩამოტვირთეთ Camera2 API Probe აპი სამიზნე Android მოწყობილობაზე Google Play Store-დან.
[appbox googleplay "com.airbeat.device.inspector"]
ინსტალაციის შემდეგ, აპი აჩვენებს ორ ან მეტ სექციას თქვენი მოწყობილობის კამერის ლინზების რაოდენობის მიხედვით (მაგ. „კამერის ID: 0“ წარმოადგენს უკანა კამერის მოდულს). თითოეული კამერის ID-ში შეგიძლიათ იპოვოთ სხვადასხვა ფუნქციების ქვეკატეგორია და მათი მხარდაჭერის დეტალები. ჩვენ განსაკუთრებით გვაინტერესებს კატეგორია სახელწოდებით "ტექნიკის მხარდაჭერის დონე", რომელიც აჩვენებს Camera2 API-ს მხარდაჭერის დონეს მოწყობილობაზე.
როგორც ხედავთ, აპლიკაცია არა მხოლოდ აღმოაჩენს ზუსტ Camera2 API დონეს თქვენი მოწყობილობისთვის, ის ასევე ჩამოთვლის რამდენიმე სხვა ფუნქციას, რომლებსაც მხარს უჭერს კამერის მოდული. ინფორმაცია შეიძლება სასარგებლო იყოს მესამე მხარის კამერის აპების დაყენების დროს, როგორიცაა Google Camera-ის კონკრეტული პორტი, რომელსაც შეუძლია გამოიყენოს ეს ფუნქციები.
თუ გსურთ ჩაღრმავდეთ და იპოვოთ მეტი ინფორმაცია მხარდაჭერილი Camera2 (ისევე როგორც CameraX) გაფართოებების შესახებ, მიეცით CameraX ინფორმაცია XDA აღიარებული დეველოპერი Zacharee1-ის მიერ. გაითვალისწინეთ, რომ აპი მხოლოდ ჩამოთვლის იმ ფუნქციებს, რომლებსაც თქვენი მოწყობილობის მწარმოებელი ავლენს მესამე მხარის აპებს. ის არ უნდა იქნას გამოყენებული მშობლიური კამერის აპლიკაციაში ჩაშენებული ფუნქციების ჩამოთვლისთვის.
ფასი: უფასო.
ვიმედოვნებთ, რომ ახლა სწრაფად შეძლებთ დაადგინოთ, ჩართულია თუ არა Camera2 API თქვენს მოწყობილობაზე ამ სახელმძღვანელოს გამოყენებით. გაგვაგებინე შენი სასურველი მეთოდი კომენტარებში!