Strojna oprema pametnega telefona je pogosto sposobna več kot le tisto, kar programska oprema privzeto omogoča. To je pravi razlog, zakaj Vrata Google Camera so postali zelo priljubljeni na naših forumih, saj jih mnogi vidijo kot preprost način za dramatično izboljšanje kakovosti slike na številnih napravah. S preneseno aplikacijo Google Camera lahko uporabljate vrhunsko Googlovo optimizacijo HDR+ in njihov portretni način v napravi, ki ni Googlova. Vendar pa ste med branjem o teh vratih gotovo naleteli na določen izraz – »Camera2 API«. V tej vadnici boste izvedeli, kaj izraz dejansko pomeni in kako lahko preverite stanje podpore za Camera2 API na svojih telefonih Android.
Kaj je Camera2 API?
Fizični modul kamere v vašem telefonu je neverjetno zapleten kos strojne opreme, vendar Androidu ni treba vedeti vsega parametri nizke ravni za interakcijo z njim, zahvaljujoč sloju abstrakcije strojne opreme (HAL), ki ga izvaja SoC prodajalci. Aplikacijski programski vmesnik (API), specifičen za kamero, se nahaja na vrhu HAL in deluje kot javno ogrodje na ravni aplikacije. Na kratko, Camera API omogoča aplikacijam, da preizkušajo funkcije kamere v napravi na poenostavljen način, ne da bi se obremenjevali s potankostmi senzorja kamere.
Google je predstavil Camera2 API v Androidu 5.0 Lollipop kot nasledniku izvirnika API kamere da bi bolje opredelili, kako lahko aplikacije komunicirajo s posameznimi kamerami, povezanimi z vašim pametnim telefonom. Aplikacijam izpostavlja številne natančne kontrole kamere, vključno z učinkovitimi zaporednimi/pretočnimi tokovi brez kopij in nadzor osvetlitve, ojačanja, izravnave beline, pretvorbe barv, odpravljanja šumov, izostritve itd.
obstajajo pet različnih stopenj podpore za Camera2 API:
- Zapuščina: Podedovane naprave, ki ne podpirajo funkcij Camera API2, kot so kontrole na okvir. Te naprave izpostavljajo zmogljivosti aplikacijam prek vmesnikov Camera API2, ki so približno enake zmogljivosti kot tiste, ki so aplikacijam izpostavljene prek vmesnikov Camera API1.
- Omejeno: Te naprave podpirajo le del vseh zmogljivosti Camera API2.
- Poln: Te naprave podpirajo vse glavne zmogljivosti Camera API2 in morajo uporabljati Camera HAL 3.2 ali novejši ter Android 5.0 ali novejši.
- Level_3: Te naprave podpirajo ponovno obdelavo YUV in zajem slik RAW, skupaj z dodatnimi konfiguracijami izhodnega toka poleg popolne podpore za API Camera2.
- Zunanji: Podobno napravam LIMITED z nekaterimi izjemami (npr. nekateri podatki o senzorju ali leči morda niso sporočeni ali imajo manj stabilno število sličic). Ta raven se uporablja za zunanje kamere, kot so spletne kamere USB.
Kar zadeva večino uporabnikov, je razlog, zakaj bi morali vsi skrbeti za podporo API-ja Camera2, ta, da morajo vrata Google Camera delovati na vašem pametnem telefonu.
Kako preveriti, ali je Camera2 API omogočen
Spletna stran za Zbirka testov slik del paketa Compatibility Test Suite (CTS) navaja, da Kamera HAL3 močno priporočamo podporo z API-jem Camera2 certificirane naprave z operacijskim sistemom Android 9 ali novejšim. Glede na to je veliko naprav v preteklosti brez podpore za Camera2 API. Za omogočanje API-ja nekateri od njih zahtevajo root, da spremenijo svoj build.prop, ali samo odklenjen zagonski nalagalnik za izvajanje ukazov Fastboot, specifičnih za prodajalca. V zadnjem času pa so se stvari začele spreminjati.
Če želite izvedeti stanje podpore za API Camera2 v vaši napravi, izberite eno od naslednjih metod.
1. način: Uporaba ADB
Preden začnete s to metodo, se prepričajte, da imate dostop do računalnika PC/Mac s ADB in Fastboot sta nameščena.
- V telefonu vklopite odpravljanje napak USB v možnostih za razvijalce.
- Morda boste morali omogoči možnosti za razvijalce prvi.
- Povežite svojo napravo z računalnikom PC/Mac.
- Odprite ukazni poziv ali PowerShell (Windows) ali terminalsko okno (macOS ali Linux).
- Če lokacija binarne datoteke ADB ni definirana v globalnih nastavitvah PATH, morate spremeniti delovni imenik lupine na lokacijo, kjer je nameščena binarna datoteka ADB.
- Vnesite naslednji ukaz:
adb shell "getprop | grep HAL3"
- Če je rezultat eden od naslednjih:
[persist.camera.HAL3.enabled]: [1]
, potem ima vaša naprava Camera HAL3 s polno podporo za API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
2. način: Uporaba terminalskega emulatorja
Če ne želite uporabljati računalnika PC/Mac, lahko uporabite katero koli aplikacijo terminalskega emulatorja, da preverite stanje Camera2 API neposredno iz telefona.
- Prenesite aplikacijo za emulator terminala po vaši izbiri. Spodaj smo našteli nekaj priljubljenih.
- Odprite aplikacijo in vnesite naslednji ukaz:
getprop | grep HAL3
- Če je rezultat eden od naslednjih:
[persist.camera.HAL3.enabled]: [1]
, potem ima vaša naprava Camera HAL3 s polno podporo za API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Upoštevajte, da podpora za HAL3 ne pomeni, da so na voljo vse funkcije Camera2 API, kot npr podjetje lahko še vedno spreminja funkcionalnost, kot je podpora za zajem RAW, ravni ISO, čas osvetlitve in več. Zato priporočamo, da se odločite za tretjo metodo, saj ponuja bolj natančne informacije.
3. način: uporaba namenske aplikacije drugega proizvajalca
Se ne želite ubadati z vmesnikom ukazne vrstice? Nato preprosto prenesite aplikacijo Camera2 API Probe na ciljno napravo Android iz trgovine Google Play.
[appbox googleplay "com.airbeat.device.inspector"]
Po namestitvi bo aplikacija prikazala dva ali več razdelkov, odvisno od števila leč kamere, ki jih ima vaša naprava (npr. »ID kamere: 0« predstavlja modul zadnje kamere). Pod vsakim ID-jem kamere lahko najdete podkategorijo različnih funkcij in podrobnosti o njihovi podpori. Še posebej nas zanima kategorija z imenom "Hardware Support Level", ki prikazuje raven podpore Camera2 API na napravi.
Kot lahko vidite, aplikacija ne le ugotovi natančno raven API-ja Camera2 za vašo napravo, ampak navede tudi več drugih funkcij, ki jih podpira modul kamere. Podatki so lahko koristni pri nameščanju aplikacij za kamere drugih proizvajalcev, kot so posebna vrata Google Camera, ki lahko uporabljajo te funkcije.
Če želite kopati globlje in odkriti več informacij o podprtih razširitvah Camera2 (kot tudi CameraX), dajte Informacije o CameraX avtor XDA Recognised Developer Zacharee1 a go. Upoštevajte, da aplikacija navaja samo funkcije, ki jih je proizvajalec vaše naprave izpostavil aplikacijam tretjih oseb. Ne sme se uporabljati za naštevanje funkcij, vgrajenih v izvorno aplikacijo kamere.
Cena: brezplačno.
Upamo, da boste s tem priročnikom zdaj hitro ugotovili, ali je API Camera2 API v vaši napravi omogočen ali ne. Sporočite nam svojo najljubšo metodo v komentarjih!