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 sia Camera2 supportano Android 5.0 (livello API 21) e versioni successive.
Questa lezione spiega come acquisire video utilizzando le applicazioni per fotocamere esistenti.
La tua applicazione ha un compito da svolgere e l'integrazione dei video è solo una piccola parte. Vuoi registrare video senza problemi e non reinventare la videocamera. Fortunatamente, la maggior parte dei dispositivi Android è già dotata di un'applicazione della fotocamera che consente di registrare video. In questa lezione imparerai a farlo.
Consulta le seguenti risorse correlate:
Richiedere la funzionalità della fotocamera
Per pubblicizzare il fatto che la tua applicazione richiede una videocamera, 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 videocamera in fase di esecuzione chiamando hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Se non è disponibile una videocamera, devi disattivare le funzionalità della videocamera.
Guarda il video
L'applicazione Fotocamera di Android restituisce il video nell'Intent
inviato
a onActivityResult()
come Uri
che rimanda alla posizione del video nell'archiviazione. Il codice seguente recupera questo video e lo mostra 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); } }