Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
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ị
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
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
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
Bắt đầu sử dụng CameraX
Đoạn mã mẫu
Ứng dụng mẫu CameraX
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[],[],null,["# CameraX overview\nPart of [Android Jetpack](/jetpack).\n=====================================================\n\nCameraX is a Jetpack library, built to help make camera app development easier.\nFor new apps, we recommend starting with CameraX. It provides a consistent,\neasy-to-use API that works across the vast majority of Android devices, with\nbackward-compatibility to Android 5.0 (API level 21). If you're migrating an app\nfrom Camera1, see our\n[Camera1 to CameraX migration guide](/training/camerax/camera1-to-camerax). \n[Get started with CameraX](https://codelabs.developers.google.com/codelabs/camerax-getting-started)\n\nPrimary benefits\n----------------\n\nCameraX improves the developer experience in several key ways.\n\n### Broad device compatibility\n\nCameraX supports devices running\n[Android 5.0 (API level 21)](/about/versions/lollipop) and higher,\nrepresenting over 98% of existing Android devices.\n\n### Ease of use\n\nCameraX emphasizes use cases, which allow you to focus on the task you need\nto get done instead of managing device-specific nuances.\nMost common camera use cases are supported:\n\n- [Preview](/training/camerax/preview): View an image on the display.\n- [Image analysis](/training/camerax/analyze): Access a buffer seamlessly for use in your algorithms, such as to pass to ML Kit.\n- [Image capture](/training/camerax/take-photo): Save images.\n- [Video capture](/training/camerax/video-capture): Save video and audio.\n\n### Consistency across devices\n\n**Figure 2.** Automated CameraX test lab ensures a consistent API\nexperience across many device types and manufacturers.\n\nMaintaining consistent camera behavior is hard. You have to consider\naspect ratio, orientation, rotation, preview size, and image size.\nWith CameraX, these basic behaviors just work.\n\nWe maintain an automated CameraX test lab that tests a variety of camera\nbehaviors across [a range of devices](/training/camerax/devices)\nand all operating system versions since Android 5.0. These tests\nrun on an ongoing basis to identify and fix a wide range of issues.\n\n### Camera extensions\n\n**Figure 3.** An image captured with\nthe bokeh (portrait) effect using CameraX.\n\nCameraX has an optional [Extensions](/training/camerax/extensions-api) API that\nallows you to access the same features and capabilities as a device's native\ncamera app with as few as two lines of code.\n\nExtensions include bokeh (portrait), high dynamic range (HDR),\nnight mode, and face retouching, all of which require device support.\n\n### Case study\n\nTo see how CameraX has simplified development for Monzo,\nsee [their case study](/stories/apps/monzo-camerax).\n\nDocumentation\n-------------\n\n- [CameraX architecture](/training/camerax/architecture)\n- [Configuration options](/training/camerax/configuration)\n- [Implement a preview](/training/camerax/preview)\n- [Image analysis](/training/camerax/analyze)\n- [Image capture](/training/camerax/take-photo)\n- [Video capture](/training/camerax/video-capture)\n- [Camera extensions](/training/camerax/extensions-api)\n- [Transform output](/training/camerax/transform-output)\n- [Use case rotations](/training/camerax/orientation-rotation)\n- [Lab-tested devices](/training/camerax/devices)\n\nAdditional resources\n--------------------\n\nTo learn more about CameraX, consult the following additional resources.\n\n### Codelab\n\n\n- [Getting Started with CameraX](https://codelabs.developers.google.com/codelabs/camerax-getting-started)\n\n### Code sample\n\n- \n- [CameraX sample apps](https://github.com/android/camera-samples/)"]]