CameraX 總覽 Android Jetpack 的一項工具。
CameraX 是一種 Jetpack 程式庫,旨在簡化相機應用程式的開發作業。如要建構新的應用程式,建議先從 CameraX 開始著手。這個程式庫提供一致且易於使用的 API,適用於大多數 Android 裝置,而且具備 Android 5.0 (API 級別 21) 的回溯相容性。如果要從 Camera1 遷移應用程式,請參閱「從 Camera1 到 CameraX 的遷移指南」。
主要優點
CameraX 可透過下列幾個主要方式改善開發人員體驗。
相容於多種裝置
CameraX 支援搭載 Android 5.0 (API 級別 21) 以上版本的裝置,占現有 Android 裝置的 98% 以上。
使用方便
CameraX 以用途為主軸,讓您能專心處理需要完成的工作,無須管理個別裝置的細微差異,並支援下列幾種最常見的相機用途:
跨裝置的一致性
![](https://developer.android.com/static/images/training/camera/camerax/testing-lab.png?authuser=5&hl=zh-tw)
圖 2. 自動化 CameraX 測試研究室可確保多種裝置類型與製造商的 API 體驗一致。
維持相機行為的一致性並非易事,必須考慮長寬比、螢幕方向、旋轉、預覽尺寸和圖片大小等因素,而 CameraX 讓這些基本行為能夠順利運作。
我們負責維護的自動化 CameraX 測試研究室,可測試多種裝置及所有作業系統版本 (Android 5.0 以上) 的相機行為。這些測試會持續執行,找出各種問題並加以修正。
相機擴充功能
![](https://developer.android.com/static/images/training/camera/camerax/portrait-mode.png?authuser=5&hl=zh-tw)
圖 3:使用 CameraX 的散景 (肖像) 效果拍攝的相片。
CameraX 提供選用的 Extensions API,您只須加上兩行程式碼,就能使用與裝置原生相機應用程式相同的功能與特色。
這些擴充功能包括散景 (肖像)、高動態範圍 (HDR)、夜間模式和修容功能,但前提是裝置必須支援這些功能。
個案研究
如要瞭解 CameraX 如何簡化 Monzo 的開發作業,請參閱個案研究。
說明文件
其他資源
如要進一步瞭解 CameraX,請參閱下列其他資源。
程式碼研究室
程式碼範例