Sceneform SceneView video kaydı

Bu geliştirici kılavuzu, uygulamanızın SceneView Sahnesini yerel bir video dosyasına kaydetmesini sağlamak için gerekli adımlarda size yol gösterir. Android'de Sceneform SDK'nın 1.6.0 sürümüyle başlayan VideoRecording Sample örneğinin bir parçası olarak VideoRecorder sınıfında kullanılabilen işlevleri kullanır.

Örnek uygulamayı oluşturup çalıştırın

VideoRecording Sample uygulamasını oluşturmak ve çalıştırmak için:

  1. Android Studio'da Sceneform projeniz olduğundan ve Android cihazınızın USB üzerinden geliştirme makinesine bağlı olduğundan emin olun. Ayrıntılı adımlar için hızlı başlangıç sayfasına bakın.
  2. VideoRecording Örneği'ni projenize aktarın.
  3. Android Studio'da Çalıştır'ı tıklayın. Ardından, dağıtım hedefi olarak cihazınızı seçin ve cihazınızda örnek uygulamayı başlatmak için Tamam'ı tıklayın.
  4. Cihazınızı hareket ettirip çevrenizdeki alana 3D nesneler yerleştirirken, kaydı başlatmak için Kaydet düğmesini, kaydı durdurmak için Durdur düğmesini tıklayın.

Kaydedilen videoya cihazdaki film rulosu üzerinden, Sceneform adlı bir fotoğraf albümünden veya yoldan erişilebilir:

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

Bir uygulamanın Sceneform video kaydını desteklemesine genel bakış

Uygulamanızın Düzen sahnelerini kaydetmesini sağlamak için gerekenler:

  1. Uygulama izinleri isteme
  2. Video kaydedici başlatılıyor
  3. Video kaydını başlatma ve durdurma

1. Uygulama izni isteme

Video dosyasını yerel depolama alanına yazabilmek için uygulamanız, aşağıdaki satırı AndroidManifest.xml bölümüne ekleyerek WRITE_EXTERNAL_STORAGE iznini istemelidir:

<application>
  …
</application>

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

2. Video kaydediciyi ilk kullanıma hazırlayın

VideoRecording Sample, VideoRecorder adında bir sınıf içerir. Bu sınıf, video oluşturmak için SceneView nesnesinden çerçeveler yakalamak üzere MediaRecorder'ı kullanmak için gereken tüm ayar mantığını kapsar.

Video kaydediciyi kullanmak için etkinliğinizde (ör. onCreate()) VideoRecorder sınıfını başlatın.

// 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. Video kaydı oluşturma

  1. Kaydı başlatmak için onToggleRecord() numaralı telefonu arayın:

       // Returns true if recording has started.
       boolean recording = videoRecorder.onToggleRecord();
    
  2. Kaydı durdurmak için onToggleRecord() numarasını ikinci kez arayın:

       // Returns false if recording has stopped.
       boolean recording = videoRecorder.onToggleRecord();
    
  3. Video kaydının dosya yolunu almak için getVideoPath() kodunu kullanın:

       // Determine absolute file path of video recording.
       String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
    
  4. İsteğe bağlı olarak, kaydedilen dosyayı adb kullanarak geliştirme makinenize kopyalayın:

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

Resim ve video için doğru konum belirlenirken film rulosunda doğru gösterilmeleri için VideoRecord sınıfı kullanılarak Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) kullanılır.