הקלטת סרטון של נוף סביבתי

במדריך למפתחים ריכזנו הסברים מפורטים שיעזרו לכם להקליט את האפליקציה SceneView בקובץ וידאו מקומי. היא משתמשת בפונקציונליות הזמינה במחלקה VideoRecorder, הזמינה כחלק מהדגימה של VideoRecording דגימה החל מגרסה 1.6.0 של schemaform SDK ל-Android.

יצירה והפעלה של אפליקציה לדוגמה

כדי ליצור ולהפעיל את האפליקציה Videorecording Sample:

  1. מוודאים שיש לכם פרויקט Projectform ב-Android Studio, ושמכשיר ה-Android מחובר למכונת הפיתוח באמצעות USB. לקבלת הוראות מפורטות, ניתן לעיין במדריך למתחילים.
  2. מייבאים את הדוגמה של הקלטת הסרטון לפרויקט.
  3. ב-Android Studio, לוחצים על הפעלה . לאחר מכן, בוחרים את המכשיר כיעד הפריסה ולוחצים על אישור כדי להפעיל את האפליקציה לדוגמה במכשיר.
  4. כשמזיזים את המכשיר ומניחים אובייקטים בתלת-ממד בחלל שמסביב, לוחצים על לחצן ההקלטה כדי להתחיל בהקלטה, ואז על לחצן העצירה כדי להפסיק את ההקלטה.

ניתן יהיה לגשת לסרטון המוקלט באמצעות זיכרון המצלמה במכשיר, באלבום תמונות בשם Sceneform או בנתיב:

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

סקירה כללית של הפעלת אפליקציה לתמיכה בהקלטת וידאו ב-Squareform

כדי להפעיל את התרחיש הזה, האפליקציה צריכה להקליט:

  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():

       // 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).