Uwaga: ta strona dotyczy klasy Camera, która została wycofana. Zalecamy korzystanie z CameraX lub, w przypadku określonych zastosowań, z Camera2. Zarówno CameraX, jak i Camera2 obsługują Androida 5.0 (poziom interfejsu API 21) i nowsze.
Z tej lekcji dowiesz się, jak nagrywać filmy za pomocą istniejących aplikacji do obsługi aparatu.
Twoja aplikacja ma do wykonania zadanie, a integracja filmów to tylko jego niewielka część. Chcesz nagrywać filmy bez zbędnych komplikacji, a nie wymyślać na nowo kamery. Na szczęście większość urządzeń z Androidem ma już aplikację aparatu, która umożliwia nagrywanie filmów. W tej lekcji zobaczysz, jak to zrobić.
Zapoznaj się z tymi materiałami:
Prośba o funkcję aparatu
Aby poinformować, że aplikacja wymaga kamery, umieść w pliku manifestu tag <uses-feature>
:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Jeśli aplikacja używa kamery, ale nie wymaga jej do działania, ustaw android:required
na false
. W ten sposób Google Play zezwoli na pobieranie aplikacji na urządzenia bez kamery. Twoim zadaniem jest sprawdzenie dostępności kamery w czasie działania aplikacji przez wywołanie funkcji hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Jeśli kamera jest niedostępna, wyłącz funkcje kamery.
Wyświetlanie filmu
Aplikacja Aparat na Androidzie zwraca film w Intent
dostarczonym do onActivityResult()
jako Uri
wskazujący lokalizację filmu w pamięci. Ten kod pobiera ten film i wyświetla go w 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); } }