Observação: esta página se refere à classe Camera, que foi descontinuada. Recomendamos usar CameraX ou, para casos de uso específicos, Camera2. O CameraX e o Camera2 oferecem suporte ao Android 5.0 (nível 21 da API) e versões mais recentes.
Este guia explica como capturar vídeos usando aplicativos de câmera.
Seu aplicativo tem uma função, e integrar vídeos é só uma pequena parte dele. O objetivo é gravar vídeos com o mínimo de problemas possível, e não reinventar a filmadora. A maioria dos dispositivos Android já tem um aplicativo de câmera que grava vídeos. Neste guia, você vai usar esse aplicativo para gravar vídeos por você.
Confira os recursos relacionados abaixo:
Solicitar o recurso de câmera
Para informar que seu aplicativo depende de uma câmera, coloque uma tag
<uses-feature>
no arquivo de manifesto:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Caso seu aplicativo use, mas não precise de uma câmera para funcionar, configure android:required
como false
. Dessa forma, o Google Play vai permitir que dispositivos sem câmera
façam o download do seu aplicativo. Será sua responsabilidade verificar a disponibilidade da câmera no momento da execução, chamando hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Se uma câmera não estiver disponível, os recursos da câmera vão precisar ser desativados.
Assistir o vídeo
O aplicativo Câmera do Android retorna o vídeo na Intent
entregue ao método onActivityResult()
como um Uri
que aponta para o local do vídeo no armazenamento. O código abaixo
extraí o vídeo e o exibe em 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); } }