Registra video

Nota:questa pagina fa riferimento alla classe Camera, 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 le applicazioni per fotocamera esistenti.

La tua applicazione ha un compito da svolgere e l'integrazione dei video è solo una piccola parte. Vuoi registrare video con il minimo sforzo, senza dover reinventare la videocamera. Fortunatamente, la maggior parte dei dispositivi Android ha già un'applicazione per la fotocamera che registra video. In questa lezione, imparerai a farlo fare a lui.

Consulta le seguenti risorse correlate:

Richiedi la funzionalità della fotocamera

Per indicare che la tua applicazione richiede 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 senza fotocamera di scaricare la tua applicazione. È quindi tua responsabilità verificare la disponibilità della fotocamera in fase di runtime chiamando hasSystemFeature(PackageManager.FEATURE_CAMERA). Se una videocamera non è disponibile, devi disattivare le relative funzionalità.

Vedi il video

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