Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 49 di 97
  • livello avanzato
Indice lezioni

Registrare un video

Sfruttare i servizi di Android per registrare un video direttamente dalla nostra app: ecco come fare.
Sfruttare i servizi di Android per registrare un video direttamente dalla nostra app: ecco come fare.
Link copiato negli appunti

Dopo aver imparato a scattare una foto ed importarla nel progetto come Bitmap, è arrivato il momento di sfruttare la caratteristica “gemella”: la
registrazione di un video.

L'approccio è il medesimo del capitolo precedente su Android ed i concetti di punta sono gli stessi.
Li riassumiamo:

  • l'attivazione del software di sistema per la realizzazione di video viene invocato mediante un action impostata all'interno del MediaStore, un
    ContentProvider di sistema;
  • l'Intent per il lancio dell'action sarà inoltrato con il metodo startActivityForResult;
  • dopo la registrazione del video, verrà eseguito il metodo onActivityResult, grazie al quale potremo sfruttare i risultati.

Le righe seguenti inviano l'Intent per l'apertura del software della videocamera di sistema:

Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(videoIntent, VIDEO_REQUEST_CODE);

Queste istruzioni possono essere inserite in qualunque punto dell'Activity. Tipicamente verranno collocate in un metodo che gestisce, ad esempio, il click
di un pulsante. La costante VIDEO_REQUEST_CODE è di tipo int ed è stata definita nell'Activity per riconoscere con un ID l'invocazione.

Il codice che segue mostra il metodo onActivityResult, utile per gestire il ritorno del controllo all'Activity, subito dopo aver girato il video.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (VIDEO_REQUEST_CODE == requestCode)
{
Uri videoUri = data.getData();
video.setVideoURI(videoUri);
video.start();
}
}

Nell'esempio precedente si vede come è stato utilizzato il codice di richiesta VIDEO_REQUEST_CODE, e chiaramente a questo punto si potrebbe svolgere qualunque operazione. In questo
caso specifico si è scelto di avviare direttamente la riproduzione del video.

Si noti che è stato utilizzato un controllo VideoView, una tipologia di View che permette di riprodurre un video di cui si è passato un riferimento tramite
il metodo setVideoURI. Tale riferimento viene recuperato, sotto forma di URI, dai dati di ritorno dell'Intent.

Ti consigliamo anche