Uwaga: ta strona dotyczy wycofanej klasy Camera. Zalecamy używanie CameraX lub, w konkretnych przypadkach, Camera2. Zarówno CameraX, jak i Camera2 obsługują Androida 5.0 (poziom interfejsu API 21) i nowsze wersje.
Z tej lekcji dowiesz się, jak nagrywać filmy za pomocą istniejących aplikacji aparatu.
Twoja aplikacja ma do wykonania zadanie, a integracja filmów to tylko niewielka jego część. Chcesz nagrywać filmy bez zbędnych komplikacji i nie chcesz wymyślać kamery na nowo. Na szczęście większość urządzeń z Androidem ma już aplikację aparatu, która nagrywa filmy. W tej lekcji dowiesz się, jak to zrobić.
Zapoznaj się z tymi przydatnymi materiałami:
Poproś o funkcję aparatu
Aby poinformować, że aplikacja wymaga aparatu, umieść w pliku manifestu tag <uses-feature>:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Jeśli aplikacja używa aparatu, ale nie wymaga go do działania, ustaw android:required na false. Dzięki temu Google Play pozwoli na pobieranie aplikacji na urządzenia bez aparatu. Następnie musisz sprawdzić dostępność aparatu w czasie działania, wywołując funkcję hasSystemFeature(PackageManager.FEATURE_CAMERA).
Jeśli kamera jest niedostępna, wyłącz jej funkcje.
Obejrzenie filmu
Aplikacja Aparat na Androida zwraca film w obiekcie Intent dostarczonym do onActivityResult() jako Uri wskazujący lokalizację filmu w pamięci. Poniższy kod pobiera ten film i wyświetla go w elemencie 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); } }