Az okostelefonok hardvere gyakran többre képes, mint amit a szoftver alapértelmezés szerint lehetővé tesz. Pontosan ez az oka annak Google kamera portok nagyon népszerűvé váltak fórumainkon, mivel sokan egyszerű módot látnak bennük a képminőség drámai javítására számos eszközön. A hordozott Google Fényképezőgép alkalmazással használhatja a Google kiváló HDR+ optimalizálását, valamint a portré módot a nem Google-eszközön. Azonban biztosan találkozott egy bizonyos kifejezéssel – „Camera2 API” –, miközben ezekről a portokról olvasott. Ebből az oktatóanyagból megtudhatja, mit jelent valójában ez a kifejezés, és hogyan ellenőrizheti a Camera2 API támogatásának állapotát androidos telefonjain.
Mi az a Camera2 API?
A telefon fizikai kameramodulja egy hihetetlenül összetett hardver, de az Androidnak nem kell mindent tudnia az alacsony szintű paraméterek a vele való interakcióhoz a SoC által megvalósított kamera hardverabsztrakciós rétegének (HAL) köszönhetően árusok. A kamera-specifikus alkalmazásprogramozási felület (API) a HAL tetején található, és alkalmazásszintű nyilvános keretrendszerként működik. Dióhéjban: a Camera API lehetővé teszi az alkalmazások számára, hogy áramvonalas módon vizsgálják meg az eszköz kamera funkcióit, anélkül, hogy a kamera érzékelőjének aprólékossága miatt aggódnának.
A Google bemutatta a Camera2 API Android 5.0 Lollipopban az eredeti utódjaként Kamera API annak pontosabb meghatározása érdekében, hogy az alkalmazások hogyan kommunikálhatnak az okostelefonhoz csatlakoztatott egyes kamerákkal. Számos szemcsés kameravezérlőt tesz elérhetővé az alkalmazások számára, beleértve a hatékony, nulla másolatot tartalmazó sorozatfelvételt/streamelést valamint az expozíció, az erősítés, a fehéregyensúly javítás, a színkonverzió, a zajtalanítás, az élesítés és egyebek képkockánkénti vezérlése.
Vannak öt különböző támogatási szint a Camera2 API esetében:
- Örökség: Régi eszközök, amelyek nem támogatják a Camera API2 funkcióit, például a képkockánkénti vezérlőket. Ezek az eszközök olyan képességeket tesznek elérhetővé az alkalmazások számára a Camera API2 interfészeken keresztül, amelyek megközelítőleg ugyanazok, mint a Camera API1 interfészeken keresztül elérhető alkalmazások számára.
- Korlátozott: Ezek az eszközök az összes Camera API2 képességnek csak egy részét támogatják.
- Teljes: Ezek az eszközök támogatják a Camera API2 összes főbb képességét, és Camera HAL 3.2 vagy újabb, valamint Android 5.0 vagy újabb verziót kell használniuk.
- Level_3: Ezek az eszközök támogatják a YUV újrafeldolgozást és a RAW képrögzítést, valamint a Camera2 API teljes támogatásán felül további kimeneti adatfolyam-konfigurációkat.
- Külső: Hasonló a LIMITED eszközökhöz, néhány kivétellel (például előfordulhat, hogy egyes szenzor- vagy lencseinformációk nem jelennek meg, vagy kevésbé stabil képsebességgel rendelkeznek). Ezt a szintet külső kamerák, például USB webkamerák esetén használják.
A legtöbb felhasználóhoz hasonlóan azért kell törődnie a Camera2 API támogatásával, mert szükséges, hogy a Google Camera portjai működjenek az okostelefonon.
Hogyan ellenőrizhető, hogy a Camera2 API engedélyezve van-e
A weboldal a Image Test Suite a Compatibility Test Suite (CTS) része kimondja, hogy Kamera HAL3 a Camera2 API támogatása erősen ajánlott tanúsított eszközök Android 9 vagy újabb rendszert futtat. Mindezek ellenére a múltban sok eszközből hiányzott a Camera2 API-támogatás. Az API engedélyezéséhez némelyiküknek vagy root szükséges a build.prop módosításához, vagy csak egy feloldott rendszerbetöltő szükséges a gyártóspecifikus Fastboot parancsok futtatásához. Az utóbbi időben azonban a dolgok elkezdtek megváltozni.
A Camera2 API-támogatás állapotának megismeréséhez az eszközén válassza az alábbi módszerek egyikét.
1. módszer: ADB használata
Mielőtt elkezdené ezt a módszert, győződjön meg arról, hogy rendelkezik PC-vel/Mac-vel ADB és Fastboot telepítve.
- Telefonján kapcsolja be az USB-hibakeresést a Fejlesztői beállításoknál.
- Lehet, hogy szüksége lesz rá engedélyezze a fejlesztői beállításokat első.
- Csatlakoztassa készülékét PC/Mac számítógéphez.
- Nyisson meg egy Parancssort vagy PowerShellt (Windows) vagy egy terminálablakot (macOS vagy Linux).
- Ha az ADB bináris helye nincs megadva a globális PATH beállításokban, akkor a shell munkakönyvtárát át kell állítani arra a helyre, ahol az ADB bináris fájl el van helyezve.
- Írja be a következő parancsot:
adb shell "getprop | grep HAL3"
- Ha az eredmény a következők egyike:
[persist.camera.HAL3.enabled]: [1]
, akkor a készülék rendelkezik Camera HAL3 teljes Camera2 API támogatással.[persist.vendor.camera.HAL3.enabled]: [1]
2. módszer: terminálemulátor használata
Ha nem szeretne PC/Mac számítógépet használni, akkor bármelyik terminálemulátor alkalmazással közvetlenül a telefonjáról ellenőrizheti a Camera2 API állapotát.
- Töltsön le egy választott terminálemulátor alkalmazást. Az alábbiakban felsorolunk néhány legnépszerűbbet.
- Nyissa meg az alkalmazást, és írja be a következő parancsot:
getprop | grep HAL3
- Ha az eredmény a következők egyike:
[persist.camera.HAL3.enabled]: [1]
, akkor a készülék rendelkezik Camera HAL3 teljes Camera2 API támogatással.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Ne feledje, hogy a HAL3 támogatás nem jelenti azt, hogy a Camera2 API összes funkciója elérhető, mint a A vállalat továbbra is módosíthatja a funkciókat, például a RAW-rögzítés támogatását, az ISO-szinteket, az expozíciós időket és több. Ezért javasoljuk a harmadik módszer választását, mivel az részletesebb információkat kínál.
3. módszer: Dedikált harmadik féltől származó alkalmazás használata
Nem akar a parancssori felülettel babrálni? Ezután töltse le a Camera2 API Probe alkalmazást a cél Android-eszközre a Google Play Áruházból.
[appbox googleplay "com.airbeat.device.inspector"]
A telepítést követően az alkalmazás két vagy több szakaszt jelenít meg, attól függően, hogy hány kameraobjektív van az eszközön (például a „Camera ID: 0” a hátsó kameramodult jelöli). Az egyes kameraazonosítók alatt a különféle funkciók alkategóriája és a támogatási részletek találhatók. Különösen érdekel minket a "Hardver támogatási szint" nevű kategória, amely a Camera2 API támogatási szintjét mutatja az eszközön.
Amint láthatja, az alkalmazás nem csak a pontos Camera2 API-szintet találja meg az eszközön, hanem számos egyéb funkciót is felsorol, amelyeket a kameramodul támogat. Az információ hasznos lehet harmadik féltől származó kameraalkalmazások telepítésekor, például egy adott Google Kamera port, amely képes használni ezeket a funkciókat.
Ha mélyebbre szeretne ásni, és további információkat szeretne megtudni a támogatott Camera2 (valamint a CameraX) bővítményekkel kapcsolatban, adja meg CameraX Info XDA Recognized Developer Zacharee1 a go. Vegye figyelembe, hogy az alkalmazás csak azokat a funkciókat sorolja fel, amelyeket az eszköz gyártója harmadik féltől származó alkalmazásoknak tett közzé. Nem használható a natív kameraalkalmazásba épített funkciók felsorolására.
Ár: Ingyenes.
Reméljük, hogy ezen útmutató segítségével gyorsan észreveszi, hogy a Camera2 API engedélyezve van-e az eszközén. Kommentben tudassa velünk, hogy melyik módszert választja!