Uwaga: ta strona dotyczy klasy Camera, która została wycofana. Zalecamy korzystanie z aplikacji CameraX lub (w określonych przypadkach) Camera2. Zarówno aplikacja CameraX, jak i Aparat 2 obsługują Androida 5.0 (poziom interfejsu API 21) i nowsze wersje.
Z tej lekcji dowiesz się, jak nagrywać filmy za pomocą dotychczasowych aplikacji do obsługi kamery.
Twoja aplikacja ma zadanie do wykonania, a integracja filmów to tylko niewielka część. Chcesz nagrywać filmy bez większego wysiłku i nie wymyślać nowej kamery. Na szczęście większość urządzeń z Androidem ma już aplikację do nagrywania filmów. Z tej lekcji robisz to za Ciebie.
Zapoznaj się z tymi powiązanymi 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 Twoja aplikacja używa aparatu do działania, ale nie potrzebuje do działania kamery, ustaw android:required
na false
. Dzięki temu Google Play zezwoli na pobranie aplikacji
urządzeniami bez kamery. Twoim obowiązkiem jest wtedy sprawdzenie dostępności kamery w czasie działania przez wywołanie hasSystemFeature(PackageManager.FEATURE_CAMERA)
.
Jeśli aparat nie jest dostępny, wyłącz jego funkcje.
Wyświetl film
Aplikacja Aparat na Androida zwraca film w pliku Intent
dostarczonym do onActivityResult()
jako Uri
, który wskazuje jego lokalizację w pamięci. Ten kod pobiera 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); } }