ضبط ویدیوی Sceneform SceneViews

این راهنمای برنامه‌نویس شما را طی مراحلی راهنمایی می‌کند تا برنامه‌تان را فعال کنید تا Sceneform SceneView را در یک فایل ویدیویی محلی ضبط کند. از قابلیت های موجود در کلاس VideoRecorder استفاده می کند که به عنوان بخشی از نمونه نمونه ضبط ویدیویی با نسخه 1.6.0 Sceneform SDK برای Android در دسترس است.

برنامه نمونه را بسازید و اجرا کنید

برای ساخت و اجرای برنامه VideoRecording Sample :

  1. مطمئن شوید که یک پروژه Sceneform در Android Studio دارید و دستگاه Android شما از طریق USB به دستگاه توسعه متصل است. برای جزئیات مراحل شروع سریع را ببینید.
  2. نمونه ضبط ویدئو را به پروژه خود وارد کنید.
  3. در اندروید استودیو روی Run کلیک کنید . سپس، دستگاه خود را به عنوان هدف استقرار انتخاب کنید و روی OK کلیک کنید تا برنامه نمونه بر روی دستگاه شما راه اندازی شود.
  4. همانطور که دستگاه خود را حرکت می دهید و اشیاء سه بعدی را در فضای اطراف خود قرار می دهید، روی دکمه ضبط برای شروع ضبط و دکمه توقف برای توقف ضبط کلیک کنید.

ویدیوی ضبط شده از طریق رول دوربین روی دستگاه، در یک آلبوم عکس به نام Sceneform یا در مسیر قابل دسترسی خواهد بود:

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

نمای کلی فعال کردن برنامه برای پشتیبانی از ضبط ویدیوی Sceneform

فعال کردن برنامه برای ضبط صحنه های Sceneform به موارد زیر نیاز دارد:

  1. درخواست مجوز برنامه
  2. راه اندازی دستگاه ضبط ویدیو
  3. شروع و توقف ضبط ویدیو

1. درخواست مجوز برنامه

برای اینکه بتوانید فایل ویدیویی را در حافظه محلی بنویسید، برنامه شما باید با افزودن خط زیر به AndroidManifest.xml خود، مجوز WRITE_EXTERNAL_STORAGE را درخواست کند:

<application>
  …
</application>

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

2. ضبط کننده ویدیو را راه اندازی کنید

VideoRecording Sample شامل کلاسی به نام 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) استفاده می کند.