Omówienie CameraX Jest częścią Android Jetpack.
Umiejętności związane z Androidem
Wyświetl na GitHubieCameraX
android skills add cameraxCameraX to biblioteka Jetpack, która ułatwia tworzenie aplikacji do obsługi aparatu. W przypadku nowych aplikacji zalecamy rozpoczęcie od CameraX. Zapewnia spójny, łatwy w użyciu interfejs API, który działa na większości urządzeń z Androidem i jest zgodny wstecznie z Androidem 5.0 (poziom interfejsu API 21). Jeśli przenosisz aplikację z Camera1, zapoznaj się z przewodnikiem po migracji z Camera1 do CameraX.
Główne korzyści
CameraX ułatwia pracę deweloperom na kilka kluczowych sposobów.
Szeroka zgodność z urządzeniami
CameraX obsługuje urządzenia z Androidem 5.0 (poziom interfejsu API 21) lub nowszym, co stanowi ponad 98% istniejących urządzeń z Androidem.
Łatwość używania
CameraX kładzie nacisk na przypadki użycia, co pozwala skupić się na zadaniu, które trzeba wykonać, zamiast na zarządzaniu niuansami związanymi z urządzeniem. Obsługiwane są najczęstsze przypadki użycia aparatu:
- Podgląd: wyświetl obraz na ekranie.
- Analiza obrazu: uzyskaj bezproblemowy dostęp do bufora, aby używać go w algorytmach, np. do przekazywania do ML Kit.
- Robienie zdjęć: zapisywanie obrazów.
- Przechwytywanie wideo: zapisywanie obrazu i dźwięku.
Spójność na różnych urządzeniach
Rysunek 2. Zautomatyzowane laboratorium testowe CameraX zapewnia spójne działanie interfejsu API na wielu typach urządzeń i u różnych producentów.
Utrzymanie spójnego zachowania kamery jest trudne. Musisz wziąć pod uwagę format obrazu, orientację, obrót, rozmiar podglądu i rozmiar obrazu. Dzięki CameraX te podstawowe funkcje po prostu działają.
Prowadzimy zautomatyzowane laboratorium testowe CameraX, w którym sprawdzamy różne zachowania aparatu na różnych urządzeniach i we wszystkich wersjach systemu operacyjnego od Androida 5.0. Testy te są przeprowadzane na bieżąco, aby wykrywać i rozwiązywać różne problemy.
Rozszerzenia aparatu
Rysunek 3. Zdjęcie zrobione z efektem bokeh (portretowym) za pomocą CameraX.
CameraX ma opcjonalny interfejs API Extensions, który umożliwia dostęp do tych samych funkcji i możliwości co natywna aplikacja aparatu na urządzeniu przy użyciu zaledwie 2 linii kodu.
Rozszerzenia obejmują efekt bokeh (portret), High Dynamic Range (HDR), tryb nocny i retusz twarzy. Wszystkie te funkcje wymagają obsługi przez urządzenie.
Studium przypadku
Aby dowiedzieć się, jak CameraX uprościł proces programowania w Monzo, zapoznaj się ze studium przypadku tej firmy.
Dokumentacja
- Architektura CameraX
- Opcje konfiguracji
- Wdrażanie podglądu
- Analiza obrazu
- Robienie zdjęć
- Przechwytywanie wideo
- Rozszerzenia aparatu
- Dane wyjściowe przekształcenia
- Rotacje przypadków użycia
- Urządzenia przetestowane w laboratorium
Dodatkowe materiały
Więcej informacji o CameraX znajdziesz w tych materiałach.
Ćwiczenie w Codelabs
Przykładowy kod