Загрузка видео в ImageView с помощью Glide - PullRequest
0 голосов
/ 24 марта 2020

Прежде всего, я знаю, что обычно Glide используется для загрузки изображений в ImageView. Но я должен спросить:

Is it okay to load a video into an ImageView with Glide by using the URL to the Django server ?

Причина, по которой я должен спросить, заключается в следующем:

В моем классе BindingAdapter.kt у меня есть это:

@BindingAdapter(value = ["app:videoString", "app:glideInstance"], requireAll = true)
fun bindThumbnailToImageView(imageView: ImageView, videoString:String?, requestManager: RequestManager){
    requestManager
        .load(videoString?.toUri()?.buildUpon()?.scheme("http")?.build())
        .into(imageView)
}

Итак, используя videoString, я позволил Glide загрузить видео в ImageView. requestManager - это просто Glide экземпляр с некоторыми RequestOptions - ничего особенного, просто типичные вещи по умолчанию. Когда я использую этот подход выше, он, кажется, работает (хотя я не знаю почему). Как пользователь, я могу видеть кадр каждого видео.

Несколько слов о структуре моего сервера приложений:

Мои видеофайлы хранятся на сервере Django, к которому подключается приложение. Используя RecyclerView, я хотел показать первый кадр каждого видео в виде эскиза. (Примечание: когда я нажимаю на ImageView, я перехожу к другому Fragment, который показывает мне все видео с использованием ExoPlayer PlayerView - поэтому RecyclerView отвечает только за отображение миниатюр)

Но эффективен ли этот подход? Если нет, то насколько плох этот подход? Лучше ли создавать эскизы на стороне сервера Django при загрузке видео, чтобы приложение просто загружало эскизы в ImageView s вместо всего видеофайла?

...