تسجيل فيديو Sceneform SceneViews

يرشدك دليل مطوّري البرامج هذا إلى الخطوات اللازمة للسماح لتطبيقك بتسجيل Sceneform SceneViews إلى ملف فيديو محلي. تستخدم الأداة الوظيفة المتوفّرة في الفئة VideoRecorder، وهي متوفّرة كجزء من عيّنة VideoRecording Sample (مسجّل الفيديو) التي تبدأ بالإصدار 1.6.0 من Sceneform SDK لنظام التشغيل Android.

إنشاء نموذج التطبيق وتشغيله

لإنشاء تطبيق VideoRecording Sample وتشغيله:

  1. تأكّد من لديك مشروع Sceneform في "استوديو Android" ومن أنّ جهاز Android متصل بجهاز التطوير عبر USB. راجِع القسم البدء السريع للاطّلاع على خطوات تفصيلية.
  2. استيراد VideoRecording Sample إلى مشروعك.
  3. في "استوديو Android"، انقر على تشغيل . بعد ذلك، اختَر جهازك بصفته هدف النشر وانقر على حسنًا لتشغيل نموذج التطبيق على جهازك.
  4. أثناء تحريك جهازك ووضع الكائنات الثلاثية الأبعاد في المساحة المحيطة بك، انقر على الزر "تسجيل" لبدء التسجيل، وعلى الزر "إيقاف" لإيقاف التسجيل.

يمكن الوصول إلى الفيديو المسجَّل من خلال ألبوم الكاميرا على الجهاز، أو في ألبوم صور باسم 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() مرة ثانية:

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