Questa guida per gli sviluppatori descrive i passaggi per consentire alla tua app di registrare scene SceneView
in un file video locale. Utilizza la funzionalità
disponibile nella classe VideoRecorder
, disponibile nell'esempio
VideoRecording sample
a partire dalla versione 1.6.0 dell'SDK Sceneform per Android.
Crea ed esegui l'app di esempio
Per creare ed eseguire l'app VideoRecording Example:
- Assicurati di avere un progetto Sceneform in Android Studio e che il dispositivo Android sia connesso alla macchina di sviluppo tramite USB. Per i passaggi dettagliati, consulta la guida rapida.
- Importa l'esempio di registrazione video nel progetto.
- In Android Studio, fai clic su Esegui . Quindi, scegli il dispositivo come destinazione di deployment e fai clic su OK per avviare l'app di esempio sul dispositivo.
- Mentre sposti il dispositivo e metti gli oggetti 3D nello spazio intorno a te, fai clic sul pulsante Registra per iniziare la registrazione e sul pulsante Interrompi per interrompere la registrazione.
Il video registrato sarà accessibile tramite il rullino del dispositivo, in
un album fotografico chiamato Sceneform
o lungo il percorso:
/sdcard/Pictures/Sceneform/Sample<hex characters>.mp4
Panoramica sull'attivazione di una app per il supporto della registrazione video di Sceneform
Per consentire alla tua app di registrare scene Sceneform è necessario:
- Richiesta di autorizzazioni app
- Inizializzazione del videoregistratore
- Avvio e interruzione della registrazione video
1. Richiedi autorizzazioni app
Per poter scrivere il file video nello spazio di archiviazione locale, devi
richiedere l'autorizzazione WRITE_EXTERNAL_STORAGE
aggiungendo la seguente riga a
AndroidManifest.xml
:
<application>
…
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. Inizializzare il videoregistratore
L'esempio di registrazione video include una classe denominata VideoRecorder
, che incapsula tutte le logiche delle impostazioni necessarie per utilizzare MediaRecorder per acquisire fotogrammi da un oggetto SceneView
per creare un video.
Per utilizzare il videoregistratore, inizializza la classe VideoRecorder nella tua attività, ad esempio in 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. Creare una registrazione video
Per iniziare a registrare, chiama il numero
onToggleRecord()
:// Returns true if recording has started. boolean recording = videoRecorder.onToggleRecord();
Per interrompere la registrazione, chiama
onToggleRecord()
una seconda volta:// Returns false if recording has stopped. boolean recording = videoRecorder.onToggleRecord();
Per recuperare il percorso del file della registrazione video, utilizza
getVideoPath()
:// Determine absolute file path of video recording. String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
Facoltativamente, copia il file registrato nella macchina di sviluppo utilizzando adb:
adb pull /sdcard/…/path/to/recorded/video.mp4 .
Per determinare la posizione corretta per le immagini e i video in modo che vengano visualizzati correttamente nel rullino, il corso VideoRecord
utilizza
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
.