1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/164587694-Mrthumb

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Mrthumb

Предварительный просмотр

img

Описание библиотеки

  • Простой и удобный поставщик миниатюр видео.
  • Плавное получение миниатюр видео.
  • Поддержка миниатюр сетевых видео.
  • Простота использования.

Загрузка исходного кода, описание веток

Пожалуйста, загрузите исходный код соответствующей версии для просмотра ветки. Версия master — это последнее состояние кода, но не обязательно исходный код для создания библиотеки, и может содержать проблемы. После создания библиотеки я создам новую ветку с соответствующим номером версии, чтобы сохранить исходное состояние исходного кода библиотеки. Это сделано для того, чтобы можно было найти ошибки и просматривать код.

Принцип работы

  • Использование MediaMetadataRetriever для получения информации о видео и миниатюр.
  • Использование MediaMetadataRetrieverCompat для поддержки FFmpeg и двух встроенных методов декодирования.
  • Асинхронная загрузка миниатюр с использованием потоков и кэширование.
  • Поддержка двух различных вариантов выбора порядка загрузки: последовательный и случайный.
  • Если миниатюра не может быть получена, используется последняя доступная миниатюра.

Ссылка на библиотеку

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
    implementation 'com.github.Reone:Mrthumb:v1.1.0'
}

Использование

1. Загрузка миниатюр

if (playState == NiceVideoPlayer.STATE_PREPARED) {
    //После подготовки видео начинаем загружать миниатюры
    Mrthumb.obtain().buffer(videoUrl, videoDuration, Mrthumb.Default.COUNT);
    //Для более подробной информации вы можете вызвать следующий метод
    //Mrthumb.obtain().buffer(videoUrl, null, videoDuration, Mrthumb.Default.RETRIEVER_TYPE, Mrthumb.Default.COUNT, Mrthumb.Default.THUMBNAIL_WIDTH, Mrthumb.Default.THUMBNAIL_HEIGHT);
}

2. Получение миниатюр

float percentage = (float) seekBar.getProgress() / seekBar.getMax();
Bitmap bitmap = Mrthumb.obtain().getThumbnail(percentage);

3. Добавление обратного вызова для отслеживания прогресса кеширования

Mrthumb.obtain().addProcessListener(new ProcessListener() {

    @Override
    public void onProcess(final int index, final int cacheCount, final int maxCount, final long time, final long duration) {
        if (delegate != null) {
            delegate.thumbProcessLog("cache " + time / 1000 + "s at " + index + " process:" + (cacheCount * 100 / maxCount) + "%");
        }
    }
});

4. Освобождение ресурсов

Mrthumb.obtain().release();

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Java
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/164587694-Mrthumb.git
git@api.gitlife.ru:oschina-mirror/164587694-Mrthumb.git
oschina-mirror
164587694-Mrthumb
164587694-Mrthumb
master-1.1.0