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); } }