Quay video Cảnh xem dạng cảnh

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:

  1. Đả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.
  2. Nhập Mẫu quay video vào dự án của bạn.
  3. 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ị.
  4. 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ó:

  1. Yêu cầu quyền cho ứng dụng
  2. Khởi chạy trình ghi video
  3. 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

  1. Để bắt đầu quay video, hãy gọi onToggleRecord():

       // Returns true if recording has started.
       boolean recording = videoRecorder.onToggleRecord();
    
  2. Để dừng ghi, hãy gọi onToggleRecord() lần thứ hai:

       // Returns false if recording has stopped.
       boolean recording = videoRecorder.onToggleRecord();
    
  3. Để 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();
    
  4. 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).