การบันทึกวิดีโอแบบ Sceneform SceneViews

คู่มือนักพัฒนาซอฟต์แวร์นี้จะอธิบายขั้นตอนต่างๆ ในการเปิดใช้แอปบันทึกฉาก SceneView ไปยังไฟล์วิดีโอในเครื่อง โดยใช้ฟังก์ชันที่มีในคลาส VideoRecorder ซึ่งมีอยู่ในตัวอย่างตัวอย่างการบันทึกวิดีโอ เริ่มต้นด้วย Sceneform SDK เวอร์ชัน Android 1.6.0

สร้างและเรียกใช้แอปตัวอย่าง

วิธีสร้างและเรียกใช้แอปตัวอย่างการบันทึกวิดีโอ

  1. ตรวจสอบว่าคุณมีโปรเจ็กต์ Sceneform ใน Android Studio และอุปกรณ์ Android เชื่อมต่ออยู่กับเครื่องพัฒนาซอฟต์แวร์ผ่าน USB โปรดดูขั้นตอนโดยละเอียดที่การเริ่มต้นอย่างรวดเร็ว
  2. นําเข้าตัวอย่างการบันทึกวิดีโอไปยังโปรเจ็กต์
  3. ใน Android Studio ให้คลิกเรียกใช้ จากนั้นเลือกอุปกรณ์เป็นเป้าหมายการทําให้ใช้งานได้ แล้วคลิกตกลงเพื่อเปิดแอปตัวอย่างในอุปกรณ์
  4. ขณะที่คุณย้ายอุปกรณ์และวางวัตถุ 3 มิติไว้ในพื้นที่รอบตัวคุณ ให้คลิกปุ่มบันทึกเพื่อเริ่มการบันทึก แล้วคลิกปุ่มหยุดเพื่อหยุดการบันทึก

คุณจะเข้าถึงวิดีโอที่บันทึกไว้ได้ผ่านรูปภาพจากกล้องในอุปกรณ์ ในอัลบั้มรูปภาพชื่อ Sceneform หรือที่เส้นทาง

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

ภาพรวมของการอนุญาตให้แอปรองรับการบันทึกวิดีโอแบบ Sceneform

การอนุญาตให้แอปบันทึกฉาก Sceneform ต้องใช้การดําเนินการต่อไปนี้

  1. การขอสิทธิ์ของแอป
  2. กําลังเริ่มโปรแกรมบันทึกวิดีโอ
  3. การเริ่มต้นและหยุดบันทึกวิดีโอ

1. ขอสิทธิ์ของแอป

หากต้องการเขียนไฟล์วิดีโอลงในพื้นที่เก็บข้อมูลในเครื่อง แอปของคุณต้องขอสิทธิ์ WRITE_EXTERNAL_STORAGE โดยการเพิ่มบรรทัดต่อไปนี้ลงใน AndroidManifest.xml

<application>
  …
</application>

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

2. เริ่มต้นโปรแกรมบันทึกวิดีโอ

ตัวอย่างการบันทึกวิดีโอมีคลาสชื่อ VideoRecorder ซึ่งสรุปตรรกะการตั้งค่าทั้งหมดที่จําเป็นในการใช้ MediaRecorder เพื่อจับเฟรมจากออบเจ็กต์ SceneView เพื่อสร้างวิดีโอ

หากต้องการใช้เครื่องบันทึกวิดีโอ ให้เริ่มคลาส VideoRecorder ในกิจกรรมของคุณ เช่น ใน 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. สร้างการบันทึกวิดีโอ

  1. หากต้องการเริ่มบันทึก ให้โทรหา onToggleRecord()

       // Returns true if recording has started.
       boolean recording = videoRecorder.onToggleRecord();
    
  2. หากต้องการหยุดบันทึก ให้โทรหา onToggleRecord() อีกครั้งเป็นครั้งที่ 2 ดังนี้

       // Returns false if recording has stopped.
       boolean recording = videoRecorder.onToggleRecord();
    
  3. หากต้องการเรียกข้อมูลเส้นทางของไฟล์ของการบันทึกวิดีโอ ให้ใช้ getVideoPath() ดังนี้

       // Determine absolute file path of video recording.
       String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
    
  4. คุณสามารถคัดลอกไฟล์ที่บันทึกไว้ไปยังเครื่องพัฒนาซอฟต์แวร์ได้โดยใช้ adb ดังนี้

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

ในการกําหนดตําแหน่งที่ถูกต้องสําหรับรูปภาพและวิดีโอเพื่อให้แสดงอย่างถูกต้องในรูปภาพจากกล้อง คลาสนี้VideoRecordใช้Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)