Tổng quan về CameraX Một phần của Android Jetpack.
CameraX là thư viện Jetpack, được thiết kế để giúp việc phát triển ứng dụng camera trở nên dễ dàng hơn. Đối với các ứng dụng mới, bạn nên bắt đầu bằng CameraX. Ứng dụng này cung cấp một API thống nhất, dễ sử dụng, hoạt động trên phần lớn các thiết bị Android và có khả năng tương thích ngược với Android 5.0 (API cấp 21). Nếu bạn đang di chuyển một ứng dụng từ Camera1, hãy xem bài viết Hướng dẫn di chuyển Camera1 sang CameraX của chúng tôi.
Lợi ích chính
CameraX cải thiện trải nghiệm của nhà phát triển theo một số cách chính.
Khả năng tương thích rộng với thiết bị
CameraX hỗ trợ các thiết bị chạy Android 5.0 (API cấp 21) trở lên, đại diện cho hơn 98% số thiết bị Android hiện có.
Dễ sử dụng
CameraX chú trọng vào các trường hợp sử dụng. Điều này cho phép bạn tập trung vào việc cần hoàn thành thay vì quản lý trạng thái của từng thiết bị. Hầu hết trường hợp sử dụng máy ảnh phổ biến đều được hỗ trợ:
- Xem trước: Xem hình ảnh trên màn hình
- Phân tích hình ảnh: Truy cập vào bộ đệm một cách liền mạch để sử dụng trong thuật toán, chẳng hạn như để truyền đến Bộ công cụ học máy.
- Chụp ảnh: Lưu hình ảnh.
- Quay video: Lưu video và âm thanh.
Tính nhất quán trên nhiều thiết bị
![](https://developer.android.com/static/images/training/camera/camerax/testing-lab.png?authuser=5&hl=vi)
Hình 2. Phòng thử nghiệm CameraX tự động đảm bảo đem lại trải nghiệm API nhất quán cho nhiều nhà sản xuất và trên nhiều loại thiết bị.
Duy trì hành vi nhất quán của máy ảnh là một việc khó khăn. Bạn phải xem xét tỷ lệ khung hình, hướng, chế độ xoay, kích thước xem trước và kích thước hình ảnh. Với CameraX, các hành vi cơ bản này có sẵn.
Chúng tôi duy trì một phòng thử nghiệm CameraX tự động kiểm tra nhiều hành vi của máy ảnh trên nhiều loại thiết bị và tất cả các phiên bản hệ điều hành kể từ Android 5.0. Các quá trình kiểm thử này chạy liên tục để xác định và khắc phục nhiều vấn đề.
Tiện ích máy ảnh
![](https://developer.android.com/static/images/training/camera/camerax/portrait-mode.png?authuser=5&hl=vi)
Hình 3. Hình ảnh được chụp với hiệu ứng bokeh (dọc) bằng CameraX.
CameraX có một API Tiện ích (không bắt buộc) cho phép bạn truy cập vào các tính năng và chức năng giống như ứng dụng máy ảnh gốc của thiết bị chỉ bằng hai dòng mã.
Các tiện ích bao gồm hiệu ứng bokeh (dọc), dải động cao (HDR), chế độ ban đêm và làm đẹp khuôn mặt, tất cả đều cần sự hỗ trợ của thiết bị.
Nghiên cứu điển hình
Để tìm hiểu cách CameraX đã giúp Monzo đơn giản hoá quá trình phát triển, hãy xem nghiên cứu điển hình của họ.
Tài liệu
- Cấu trúc CameraX
- Tuỳ chọn cấu hình
- Triển khai bản xem trước
- Phân tích hình ảnh
- Chụp ảnh
- Quay video
- Tiện ích máy ảnh
- Chuyển đổi đầu ra
- Chế độ xoay trong trường hợp sử dụng
- Thiết bị được dùng để kiểm thử
Tài nguyên khác
Để tìm hiểu thêm về CameraX, hãy tham khảo các tài liệu bổ sung sau đây.
Lớp học lập trình
Đoạn mã mẫu