Perekaman video Sceneform SceneViews

Panduan developer ini akan memandu Anda melalui langkah-langkah untuk memungkinkan aplikasi merekam Sceneform SceneViews ke file video lokal. SDK ini menggunakan fungsionalitas yang tersedia di class VideoRecorder, yang tersedia sebagai bagian dari contoh Contoh Rekaman Video mulai dari Sceneform SDK versi 1.6.0 untuk Android.

Mem-build dan menjalankan aplikasi contoh

Untuk membuat dan menjalankan aplikasi VideoRecording Sample:

  1. Pastikan Anda memiliki project Sceneform di Android Studio, dan perangkat Android terhubung ke mesin pengembangan melalui USB. Lihat panduan memulai untuk mengetahui langkah-langkah mendetail.
  2. Impor Contoh Rekaman Video ke project Anda.
  3. Di Android Studio, klik Run . Kemudian, pilih perangkat Anda sebagai target deployment dan klik OK untuk meluncurkan aplikasi contoh di perangkat Anda.
  4. Saat memindahkan perangkat dan menempatkan objek 3D dalam ruang di sekitar Anda, klik tombol Record untuk mulai merekam, dan tombol Stop untuk berhenti merekam.

Video yang direkam akan dapat diakses melalui rol kamera di perangkat, dalam album bernama Sceneform atau di jalur:

/sdcard/Pictures/Sceneform/Sample<hex characters>.mp4

Ringkasan pengaktifan aplikasi untuk mendukung perekaman video Sceneform

Mengaktifkan aplikasi untuk merekam scene Sceneform memerlukan:

  1. Meminta izin aplikasi
  2. Menginisialisasi perekam video
  3. Memulai dan menghentikan perekaman video

1. Meminta izin aplikasi

Agar dapat menulis file video ke penyimpanan lokal, aplikasi Anda harus meminta izin WRITE_EXTERNAL_STORAGE dengan menambahkan baris berikut ke AndroidManifest.xml Anda:

<application>
  …
</application>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2. Menginisialisasi perekam video

VideoRecording Sample menyertakan class bernama VideoRecorder, yang mengenkapsulasi semua logika setelan yang diperlukan untuk menggunakan MediaRecorder guna mengambil frame dari objek SceneView untuk membuat video.

Untuk menggunakan perekam video, inisialisasi class VideoRecorder dalam aktivitas Anda, misalnya dalam 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. Membuat rekaman video

  1. Untuk mulai merekam, panggil onToggleRecord():

       // Returns true if recording has started.
       boolean recording = videoRecorder.onToggleRecord();
    
  2. Untuk berhenti merekam, panggil onToggleRecord() untuk kedua kalinya:

       // Returns false if recording has stopped.
       boolean recording = videoRecorder.onToggleRecord();
    
  3. Untuk mengambil jalur file rekaman video, gunakan getVideoPath():

       // Determine absolute file path of video recording.
       String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
    
  4. Secara opsional, salin file yang direkam ke mesin pengembangan menggunakan adb:

adb pull /sdcard/…/path/to/recorded/video.mp4 .

Untuk menentukan lokasi yang benar untuk gambar dan video sehingga muncul dengan benar di rol kamera, class VideoRecord menggunakan Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).