Lưu ý: Trang này đề cập đến lớp Camera (không dùng nữa). Bạn nên dùng CameraX hoặc Camera2 (trong một số trường hợp sử dụng cụ thể). Cả CameraX và Camera2 đều hỗ trợ Android 5.0 (API cấp 21) trở lên.
Bài học này giải thích cách quay video bằng các ứng dụng máy ảnh hiện có.
Ứng dụng của bạn có việc cần làm và việc tích hợp video chỉ là một phần nhỏ của việc đó. Bạn muốn quay video mà không tốn nhiều công sức và không phải đổi mới máy quay video. Thật may là hầu hết thiết bị chạy Android đều có ứng dụng máy ảnh kết hợp chức năng quay video. Trong bài học này, bạn sẽ tìm hiểu cách dùng ứng dụng máy ảnh để quay video.
Hãy tham khảo các tài nguyên liên quan sau:
Yêu cầu tính năng máy ảnh
Để quảng cáo rằng ứng dụng này phụ thuộc vào việc có máy ảnh, hãy đặt thẻ <uses-feature>
vào tệp kê khai:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Nếu ứng dụng của bạn dùng máy ảnh nhưng không cần phải có máy ảnh mới hoạt động được, hãy đặt android:required
thành false
. Khi làm như vậy, Google Play sẽ cho phép các thiết bị không có máy ảnh tải ứng dụng của bạn xuống. Sau đó, bạn có trách nhiệm kiểm tra khả năng hoạt động của máy ảnh trong thời gian chạy bằng cách gọi hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Nếu máy ảnh không sử dụng được, bạn nên tắt các tính năng của máy ảnh.
Xem video
Ứng dụng Máy ảnh trên Android trả về video trong Intent
được phân phối cho onActivityResult()
dưới dạng Uri
trỏ đến vị trí video trong bộ nhớ. Mã sau đây truy xuất và hiển thị video này trong VideoView
.
Kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { val videoUri: Uri = intent.data videoView.setVideoURI(videoUri) } }
Java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { Uri videoUri = intent.getData(); videoView.setVideoURI(videoUri); } }