Sprzęt smartfona często potrafi więcej niż tylko to, na co domyślnie pozwala oprogramowanie. To jest dokładny powód Porty aparatu Google stały się bardzo popularne na naszych forach, ponieważ wielu postrzega je jako łatwy sposób na radykalną poprawę jakości obrazu na szerokiej gamie urządzeń. Dzięki przeniesionej aplikacji Aparat Google możesz korzystać z doskonałej optymalizacji HDR+ firmy Google, a także trybu portretowego na urządzeniu innym niż Google. Jednak czytając o tych portach, musiałeś natknąć się na konkretny termin – „API Camera2”. W tym samouczku dowiesz się, co właściwie oznacza ten termin i jak możesz sprawdzić stan obsługi API Camera2 na swoich telefonach z Androidem.
Co to jest API Camera2?
Fizyczny moduł aparatu w telefonie to niezwykle złożony element sprzętu, ale Android nie musi wiedzieć wszystkiego parametry niskiego poziomu umożliwiające interakcję z nią dzięki warstwie abstrakcji sprzętu (HAL) zaimplementowanej przez SoC dostawcy. Interfejs programowania aplikacji (API) specyficzny dla kamery znajduje się na warstwie HAL i działa jako publiczna platforma na poziomie aplikacji. Krótko mówiąc, interfejs API aparatu umożliwia aplikacjom sprawne sprawdzanie funkcji aparatu na urządzeniu, bez zawracania sobie głowy szczegółami czujnika aparatu.
Google wprowadziło API Camera2 w systemie Android 5.0 Lollipop jako następca pierwowzoru API aparatu aby lepiej określić, w jaki sposób aplikacje mogą wchodzić w interakcję z poszczególnymi kamerami podłączonymi do Twojego smartfona. Udostępnia aplikacjom szereg szczegółowych elementów sterujących kamerą, w tym wydajne przepływy zdjęć seryjnych/strumieniowych bez kopiowania oraz kontrolę ekspozycji, wzmocnienia, wzmocnienia balansu bieli, konwersji kolorów, usuwania szumów, wyostrzania i nie tylko.
Tam są pięć różnych poziomów wsparcia dla API Camera2:
- Dziedzictwo: Starsze urządzenia, które nie obsługują funkcji Camera API2, takich jak kontrola poszczególnych klatek. Urządzenia te udostępniają aplikacjom możliwości za pośrednictwem interfejsów Camera API2, które są w przybliżeniu takie same, jak te udostępniane aplikacjom za pośrednictwem interfejsów Camera API1.
- Ograniczony: Urządzenia te obsługują tylko podzbiór wszystkich funkcji Camera API2.
- Pełny: Urządzenia te obsługują wszystkie główne możliwości interfejsu Camera API2 i muszą korzystać z aplikacji Camera HAL 3.2 lub nowszej oraz systemu Android 5.0 lub nowszego.
- Poziom 3: Urządzenia te obsługują przetwarzanie YUV i przechwytywanie obrazów RAW, a także dodatkowe konfiguracje strumieni wyjściowych oprócz pełnej obsługi interfejsu API Camera2.
- Zewnętrzny: Podobnie jak w przypadku urządzeń LIMITED z pewnymi wyjątkami (np. niektóre informacje o czujniku lub obiektywie mogą nie być raportowane lub mieć mniej stabilną liczbę klatek na sekundę). Ten poziom jest używany w przypadku kamer zewnętrznych, takich jak kamery internetowe USB.
Jeśli chodzi o większość użytkowników, powodem, dla którego wszyscy powinniście zainteresować się obsługą API Camera2, jest to, że porty Google Camera muszą działać na Twoim smartfonie.
Jak sprawdzić, czy API Camera2 jest włączone
Strona internetowa dla Zestaw testów obrazu część pakietu testów zgodności (CTS) stwierdza, że Kamera HAL3 Zdecydowanie zaleca się obsługę interfejsu API Camera2 certyfikowane urządzenia z Androidem 9 lub nowszym. Mając to na uwadze, w przeszłości wiele urządzeń nie miało standardowej obsługi interfejsu API Camera2. Aby włączyć interfejs API, niektóre z nich wymagają roota w celu zmodyfikowania pliku build.prop lub po prostu odblokowanego programu ładującego w celu uruchomienia specyficznych dla dostawcy poleceń Fastboot. Ostatnio jednak sytuacja zaczęła się zmieniać.
Aby poznać stan obsługi API Camera2 na swoim urządzeniu, wybierz jedną z poniższych metod.
Metoda 1: Korzystanie z ADB
Zanim zaczniesz korzystać z tej metody, upewnij się, że masz dostęp do komputera PC/Mac Zainstalowane ADB i Fastboot.
- W telefonie włącz debugowanie USB w opcjach programisty.
- Być może będziesz musiał włącz Opcje programistyczne Pierwszy.
- Podłącz swoje urządzenie do komputera PC/Mac.
- Otwórz wiersz poleceń, PowerShell (Windows) lub okno terminala (macOS lub Linux).
- W przypadku, gdy lokalizacja pliku binarnego ADB nie jest zdefiniowana w globalnych ustawieniach PATH, należy zmienić katalog roboczy powłoki na lokalizację, w której znajduje się plik binarny ADB.
- Wprowadź następujące polecenie:
adb shell "getprop | grep HAL3"
- Jeśli wynik jest jednym z poniższych:
[persist.camera.HAL3.enabled]: [1]
, to Twoje urządzenie ma kamerę HAL3 z pełną obsługą API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
Metoda 2: Korzystanie z emulatora terminala
Jeśli nie chcesz korzystać z komputera PC/Mac, możesz użyć dowolnej aplikacji emulującej terminal, aby sprawdzić stan API Camera2 bezpośrednio z telefonu.
- Pobierz wybraną aplikację emulującą terminal. Poniżej wymieniliśmy kilka popularnych.
- Otwórz aplikację i wprowadź następujące polecenie:
getprop | grep HAL3
- Jeśli wynik jest jednym z poniższych:
[persist.camera.HAL3.enabled]: [1]
, to Twoje urządzenie ma kamerę HAL3 z pełną obsługą API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid „com.termux”]
Należy pamiętać, że obsługa HAL3 nie oznacza, że wszystkie funkcje API Camera2 są dostępne, np firma może nadal modyfikować funkcje, takie jak obsługa przechwytywania plików RAW, poziomy ISO, czasy ekspozycji i więcej. Dlatego zalecamy wybranie trzeciej metody, ponieważ zapewnia ona bardziej szczegółowe informacje.
Metoda 3: Korzystanie z dedykowanej aplikacji innej firmy
Nie chcesz bawić się interfejsem wiersza poleceń? Następnie wystarczy pobrać aplikację Camera2 API Probe na docelowe urządzenie z systemem Android ze sklepu Google Play.
[appbox googleplay "com.airbeat.device.inspector"]
Po zainstalowaniu aplikacja wyświetli dwie lub więcej sekcji w zależności od liczby obiektywów aparatu w urządzeniu (np. „ID kamery: 0” oznacza moduł tylnej kamery). Pod każdym identyfikatorem kamery znajdziesz podkategorię różnych funkcji i szczegóły ich wsparcia. Nas szczególnie interesuje kategoria o nazwie „Poziom wsparcia sprzętowego”, która pokazuje poziom wsparcia API Camera2 na urządzeniu.
Jak widać, aplikacja nie tylko sprawdza dokładny poziom API Camera2 dla Twojego urządzenia, ale także wyświetla listę kilku innych funkcji obsługiwanych przez moduł kamery. Informacje te mogą się przydać podczas instalowania aplikacji aparatu innych firm, takich jak konkretny port Aparatu Google, który może korzystać z tych funkcji.
Jeśli chcesz kopać głębiej i odkryć więcej informacji na temat obsługiwanych rozszerzeń Camera2 (a także CameraX), daj Informacje o CameraX autorstwa uznanego programisty XDA Zacharee1. Pamiętaj, że aplikacja wyświetla tylko funkcje, które producent Twojego urządzenia udostępnił aplikacjom innych firm. Nie należy go używać do wyliczania funkcji wbudowanych w natywną aplikację aparatu.
Cena: za darmo.
Mamy nadzieję, że korzystając z tego przewodnika, możesz teraz szybko sprawdzić, czy na Twoim urządzeniu jest włączone API Camera2. Daj nam znać w komentarzach preferowaną metodę!