Hướng dẫn dành cho nhà phát triển này sẽ hướng dẫn bạn các bước để cho phép ứng dụng quay
Sceneform SceneView
vào một tệp video cục bộ. Phiên bản này sử dụng chức năng
có sẵn trong lớp VideoRecorder
. Đây là một phần của mẫu
Mẫu quay video
bắt đầu từ phiên bản 1.6.0 của SDK biểu mẫu cho Android.
Xây dựng và chạy ứng dụng mẫu
Cách tạo và chạy ứng dụng Mẫu quay video:
- Đảm bảo bạn có một dự án Sceneform trong Android Studio và thiết bị Android được kết nối với máy phát triển qua USB. Hãy xem phần bắt đầu nhanh để biết các bước chi tiết.
- Nhập Mẫu quay video vào dự án của bạn.
- Trong Android Studio, hãy nhấp vào Run (Chạy)
. Sau đó, hãy chọn thiết bị của bạn làm mục tiêu triển khai rồi nhấp vào OK để chạy ứng dụng mẫu trên thiết bị.
- Khi bạn di chuyển thiết bị và đặt các đối tượng 3D vào không gian xung quanh, hãy nhấp vào nút Ghi để bắt đầu quay, còn nút Dừng để dừng ghi.
Bạn có thể truy cập video đã quay thông qua thư viện ảnh trên thiết bị, trong
album ảnh có tên Sceneform
hoặc tại đường dẫn:
/sdcard/Pictures/Sceneform/Sample<hex characters>.mp4
Tổng quan về cách bật một ứng dụng để hỗ trợ tính năng quay video Cảnh
Việc bật ứng dụng để ghi lại các cảnh Cảnh cần có:
- Yêu cầu quyền cho ứng dụng
- Khởi chạy trình ghi video
- Bắt đầu và dừng quay video
1. Yêu cầu quyền cho ứng dụng
Để có thể ghi tệp video vào bộ nhớ cục bộ, ứng dụng của bạn phải
yêu cầu quyền WRITE_EXTERNAL_STORAGE
bằng cách thêm dòng sau vào
AndroidManifest.xml
:
<application>
…
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. Khởi chạy trình ghi video
Mẫu quay video bao gồm một lớp có tên VideoRecorder
, lớp này sẽ đóng gói tất cả logic cài đặt cần thiết để sử dụng MediaRecorder để chụp khung hình từ đối tượng SceneView
nhằm tạo video.
Để sử dụng trình ghi video, hãy khởi chạy lớp VideoRecorder
trong hoạt động, chẳng hạn như trong onCreate()
.
// Create a new video recorder instance.
videoRecorder = new VideoRecorder();
// Specify the AR scene view to be recorded.
videoRecorder.setSceneView(arFragment.getArSceneView());
// Set video quality and recording orientation to match that of the device.
int orientation = getResources().getConfiguration().orientation;
videoRecorder.setVideoQuality(CamcorderProfile.QUALITY_2160P, orientation);
3. Tạo bản ghi video
Để bắt đầu quay video, hãy gọi
onToggleRecord()
:// Returns true if recording has started. boolean recording = videoRecorder.onToggleRecord();
Để dừng ghi, hãy gọi
onToggleRecord()
lần thứ hai:// Returns false if recording has stopped. boolean recording = videoRecorder.onToggleRecord();
Để truy xuất đường dẫn tệp của bản ghi video, hãy sử dụng
getVideoPath()
:// Determine absolute file path of video recording. String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
Sao chép tệp được ghi vào máy phát triển của bạn bằng adb nếu muốn:
adb pull /sdcard/…/path/to/recorded/video.mp4 .
Để xác định vị trí chính xác cho hình ảnh và video để các hình ảnh và video đó xuất hiện đúng cách trên thư viện ảnh, lớp VideoRecord
sử dụng Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
.