คู่มือนักพัฒนาซอฟต์แวร์นี้จะอธิบายขั้นตอนต่างๆ ในการเปิดใช้แอปบันทึกฉาก SceneView
ไปยังไฟล์วิดีโอในเครื่อง โดยใช้ฟังก์ชันที่มีในคลาส VideoRecorder
ซึ่งมีอยู่ในตัวอย่างตัวอย่างการบันทึกวิดีโอ
เริ่มต้นด้วย Sceneform SDK เวอร์ชัน Android 1.6.0
สร้างและเรียกใช้แอปตัวอย่าง
วิธีสร้างและเรียกใช้แอปตัวอย่างการบันทึกวิดีโอ
- ตรวจสอบว่าคุณมีโปรเจ็กต์ Sceneform ใน Android Studio และอุปกรณ์ Android เชื่อมต่ออยู่กับเครื่องพัฒนาซอฟต์แวร์ผ่าน USB โปรดดูขั้นตอนโดยละเอียดที่การเริ่มต้นอย่างรวดเร็ว
- นําเข้าตัวอย่างการบันทึกวิดีโอไปยังโปรเจ็กต์
- ใน Android Studio ให้คลิกเรียกใช้ จากนั้นเลือกอุปกรณ์เป็นเป้าหมายการทําให้ใช้งานได้ แล้วคลิกตกลงเพื่อเปิดแอปตัวอย่างในอุปกรณ์
- ขณะที่คุณย้ายอุปกรณ์และวางวัตถุ 3 มิติไว้ในพื้นที่รอบตัวคุณ ให้คลิกปุ่มบันทึกเพื่อเริ่มการบันทึก แล้วคลิกปุ่มหยุดเพื่อหยุดการบันทึก
คุณจะเข้าถึงวิดีโอที่บันทึกไว้ได้ผ่านรูปภาพจากกล้องในอุปกรณ์ ในอัลบั้มรูปภาพชื่อ Sceneform
หรือที่เส้นทาง
/sdcard/Pictures/Sceneform/Sample<hex characters>.mp4
ภาพรวมของการอนุญาตให้แอปรองรับการบันทึกวิดีโอแบบ Sceneform
การอนุญาตให้แอปบันทึกฉาก Sceneform ต้องใช้การดําเนินการต่อไปนี้
- การขอสิทธิ์ของแอป
- กําลังเริ่มโปรแกรมบันทึกวิดีโอ
- การเริ่มต้นและหยุดบันทึกวิดีโอ
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. สร้างการบันทึกวิดีโอ
หากต้องการเริ่มบันทึก ให้โทรหา
onToggleRecord()
// Returns true if recording has started. boolean recording = videoRecorder.onToggleRecord();
หากต้องการหยุดบันทึก ให้โทรหา
onToggleRecord()
อีกครั้งเป็นครั้งที่ 2 ดังนี้// Returns false if recording has stopped. boolean recording = videoRecorder.onToggleRecord();
หากต้องการเรียกข้อมูลเส้นทางของไฟล์ของการบันทึกวิดีโอ ให้ใช้
getVideoPath()
ดังนี้// Determine absolute file path of video recording. String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
คุณสามารถคัดลอกไฟล์ที่บันทึกไว้ไปยังเครื่องพัฒนาซอฟต์แวร์ได้โดยใช้ adb ดังนี้
adb pull /sdcard/…/path/to/recorded/video.mp4 .
ในการกําหนดตําแหน่งที่ถูกต้องสําหรับรูปภาพและวิดีโอเพื่อให้แสดงอย่างถูกต้องในรูปภาพจากกล้อง คลาสนี้VideoRecord
ใช้Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)