записывать видео;

Примечание. На этой странице описывается класс Camera, который больше не поддерживается. Мы рекомендуем использовать CameraX или, в некоторых случаях, Camera2. CameraX и Camera2 поддерживают Android 5.0 (уровень API 21) и более поздние версии.

Чтобы узнать, как перейти с Camera1 на CameraX, прочитайте статью Migrate Camera1 to CameraX (Переход с Camera1 на CameraX). Вы также можете использовать агентский навык для перехода с Camera1 на CameraX.

В этом уроке объясняется, как записывать видео с помощью существующих приложений камеры.

У вашего приложения есть определенная задача, и интеграция видео – лишь небольшая ее часть. Вы хотите снимать видео без лишних хлопот и не изобретать видеокамеру заново. К счастью, на большинстве устройств Android уже есть приложение камеры, которое записывает видео. В этом уроке вы научитесь это делать.

Ознакомьтесь со следующей информацией по теме:

Как запросить доступ к функции камеры

Чтобы указать, что для работы приложения требуется камера, добавьте в файл манифеста тег <uses-feature>:

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

Если приложение использует камеру, но может работать и без нее, задайте для атрибута android:required значение false. В этом случае Google Play разрешит скачивать ваше приложение на устройства без камеры. Затем вы должны проверить доступность камеры во время выполнения, вызвав hasSystemFeature(PackageManager.FEATURE_CAMERA). Если камера недоступна, отключите функции камеры.

Посмотреть видео

Приложение "Камера" для Android возвращает видео в Intent, доставленном в onActivityResult(), в виде Uri, указывающего на местоположение видео в хранилище. Приведенный ниже код извлекает это видео и показывает его в элементе 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);
    }
}