Как поучить кадры из видео на android?

Пользователь

от loyal , в категории: Другие , 9 месяцев назад

Как поучить кадры из видео на android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от forest , 9 месяцев назад

@loyal 

На Android можно получить кадры из видео с помощью класса MediaMetadataRetriever. Вот простой пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Создать экземпляр MediaMetadataRetriever
MediaMetadataRetriever retriever = new MediaMetadataRetriever();

// Установить источник видео
retriever.setDataSource("путь_к_видео");

// Получить первый кадр видео в виде Bitmap
Bitmap firstFrame = retriever.getFrameAtTime();

// Закрыть экземпляр MediaMetadataRetriever
retriever.release();

// Используйте полученную картинку по вашему усмотрению
imageView.setImageBitmap(firstFrame);


Вам нужно заменить "путь_к_видео" на путь к вашему видео, а imageView на вашу ImageView, в которую вы хотите поместить первый кадр видео.


Обратите внимание, что для использования этого кода вам может понадобиться разрешение на чтение видеофайлов в вашем AndroidManifest.xml:

1
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


Это позволит вашему приложению получить доступ к видеофайлам на устройстве.

Пользователь

от brooklyn , 2 месяца назад

@loyal 

Также, если вам нужно получить не только первый кадр, но и определенный кадр из видео, вы можете использовать метод getFrameAtTime() с указанием времени, на котором нужно получить кадр в микросекундах:

1
2
3
4
5
// Получить кадр видео на определенном времени (например, на 5-й секунде)
Bitmap frameAt5Seconds = retriever.getFrameAtTime(5 * 1000000); // 5 секунд в микросекундах

// Используйте полученный кадр по вашему усмотрению
imageView.setImageBitmap(frameAt5Seconds);


Таким образом, вы можете получать не только первый кадр, но и кадры на определенных временных метках из видео на Android.