Registra video

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

Questa lezione spiega come acquisire video utilizzando le applicazioni per fotocamera esistenti.

La tua candidatura deve svolgere un compito e integrare i video è solo una piccola parte. Vuoi registrare video con il minimo impegno senza dover reinventare la videocamera. Fortunatamente, quasi tutti i dispositivi Android dispongono già di un'applicazione per la registrazione di video. In questa lezione, sarai tu a farlo per te.

Consulta le seguenti risorse correlate:

Richiedere la funzionalità fotocamera

Per indicare che la tua applicazione dipende da una fotocamera, inserisci un tag <uses-feature> nel file manifest:

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

Se la tua applicazione utilizza, ma non richiede una fotocamera per funzionare, imposta android:required su false. In questo modo, Google Play consentirà ai dispositivi sprovvisti di fotocamera di scaricare la tua applicazione. È quindi tua responsabilità verificare la disponibilità della videocamera in fase di runtime chiamando il numero hasSystemFeature(PackageManager.FEATURE_CAMERA). Se la videocamera non è disponibile, disattiva le funzionalità della videocamera.

Guarda il video

L'applicazione Fotocamera Android restituisce il video nel Intent consegnato 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);
    }
}