Nagrywanie filmów

Uwaga: ta strona dotyczy wycofanej klasy Camera. Zalecamy korzystanie z Aparatu X lub – w określonych przypadkach – z Aparatu 2. Aparaty CameraX 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ą kamery aplikacji.

Twoja aplikacja ma zadania do wykonania, a do zintegrowania filmów wideo wystarczy który jest ich częścią. Staraj się nagrywać filmy bez wysiłku. Nie musisz zmieniać dzięki kamerze cyfrowej. Na szczęście większość urządzeń z Androidem ma już aplikację aparatu, nagrywa film. W tej lekcji zrobisz to za Ciebie.

Zapoznaj się z tymi powiązanymi materiałami:

Wysyłanie prośby o funkcję aparatu

Aby zasygnalizować, że aplikacja wymaga aparatu, umieść reklamę Tag <uses-feature> w pliku manifestu:

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

Jeśli aplikacja używa kamery do działania, ale jej nie wymaga, ustaw android:required na false. Jeśli to zrobisz, Google Play będzie zezwalać na urządzenia bez aparatu, aby pobrać aplikację. Wtedy musisz sprawdzić dostępność kamery w czasie działania przez wywołanie metody hasSystemFeature(PackageManager.FEATURE_CAMERA). Jeśli kamera nie jest dostępna, wyłącz funkcje kamery.

Wyświetl film

Aplikacja Aparat na Androida zwraca film w dostarczonym Intent. do onActivityResult() jako Uri wskazujący lokalizację filmu w pamięci. Następujący 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);
    }
}