Registra video

Nota:questa pagina fa riferimento alla classe Fotocamera, che è stata ritirata. Ti consigliamo di utilizzare CameraX o, per casi d'uso specifici, Camera2. Sia CameraX che Camera2 supportano Android 5.0 (livello API 21) e versioni successive.

Questa lezione spiega come acquisire video utilizzando una videocamera esistente diverse applicazioni.

La tua domanda deve essere svolta e l'integrazione dei video è solo un piccolo in parte. Vuoi registrare video con il minimo sforzo e non reinventare videocamera. Fortunatamente, la maggior parte dei dispositivi Android dispone già di un'applicazione per fotocamera che registra un video. In questa lezione lo farai per te.

Consulta le seguenti risorse correlate:

Richiedi la funzionalità fotocamera

Per pubblicizzare il fatto che la tua applicazione dipende dall'avere una videocamera, inserisci un Tag <uses-feature> nel file manifest:

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

Se l'applicazione utilizza una fotocamera per funzionare, imposta android:required su false. In questo modo, Google Play consentirà ai dispositivi senza un fotocamera per scaricare l'applicazione. È quindi tua responsabilità verificare la disponibilità della videocamera in fase di esecuzione chiamando hasSystemFeature(PackageManager.FEATURE_CAMERA). Se una videocamera non è disponibile, devi disattivare le relative funzionalità.

Guarda il video

L'applicazione Fotocamera Android restituisce il video nei Intent consegnati a onActivityResult() come Uri che rimanda alla posizione del video nello spazio di archiviazione. Il seguente codice recupera questo video e lo visualizza in un VideoView.

Kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        val videoUri: Uri = intent.data
        videoView.setVideoURI(videoUri)
    }
}

Java

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        Uri videoUri = intent.getData();
        videoView.setVideoURI(videoUri);
    }
}