Nota:questa pagina fa riferimento alla classe Fotocamera, 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 una videocamera esistente diverse applicazioni.
La tua domanda deve essere svolta e l'integrazione dei video è solo un piccolo in parte. Vuoi registrare video con il minimo sforzo e non reinventare videocamera. Fortunatamente, la maggior parte dei dispositivi Android dispone già di un'applicazione per fotocamera che registra un video. In questa lezione lo farai per te.
Consulta le seguenti risorse correlate:
Richiedi la funzionalità fotocamera
Per pubblicizzare il fatto che la tua applicazione dipende dall'avere una videocamera, inserisci un
Tag <uses-feature>
nel file manifest:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Se l'applicazione utilizza una fotocamera per funzionare, imposta android:required
su false
. In questo modo, Google Play consentirà ai dispositivi senza un
fotocamera per scaricare l'applicazione. È quindi tua responsabilità verificare la disponibilità
della videocamera in fase di esecuzione chiamando hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Se una videocamera non è disponibile, devi disattivare le relative funzionalità.
Guarda il video
L'applicazione Fotocamera Android restituisce il video nei Intent
consegnati
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); } }