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.
Per scoprire come eseguire la migrazione da Camera1 a CameraX, consulta
Esegui la migrazione da Camera1 a CameraX.
In alternativa, puoi utilizzare la
competenza agentica per la migrazione da Camera1 a CameraX.
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 di questo compito. Vuoi registrare video con il minimo sforzo, senza reinventare la videocamera. Fortunatamente, la maggior parte dei dispositivi Android ha già un'applicazione 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); } }