Skip to content

alex-sh-dev/video-archive-player

Repository files navigation

Video archive player

Другие названия:

  • плеер видеоархива
  • плеер видеофрагментов
  • videoarchive player
  • videofragment player
Портретная ориентация Альбомная ориентация

Description

  • Данный плеер базируется на MobileVLCKit framework версии 3.0.7 Vetinari с собственными доработками
  • Содержит две статические либы
    • libExtendedScrollView.a содержит производный класс от UIScrollView, реализующий функции масштабирования (зумирования)
    • libStepSlider.a содержит базовый функционал для реализации ползунка (slider) по шкале времени
  • Тестировал на iPhone 14 Pro Simulator (ios 16.4)

Benefits

  • Возможность зумировать видео с сохранением оригинального качества видео
  • Поддержка любой ориентации устройства
  • Содержит шкалу времени и заполненные интервалы, информирующие о наличии/отстутствии видео данных
  • Добавлена возможность скрыть/показать панель навигации и блок кнопок для альбомной ориентации

Презентация возможностей приложения

Usage

  • В качестве примера смотрите этот вариант json файла (json в raw формате подходит в качестве указания файла в приложении, в иных случаях требуется добавить json файл на ваш сервер и полученную ссылку указать в приложении)
  • В проекте не предусмотрена сортировка данных по времени (time). Ваш список должен быть заранее отсортирован
  • В приложении добавлено автоматическое получение размера видео с помощью vlc, но если есть размеры, то предпочтительно их указать в json файле

Development

  • Написано на Swift с использованием Objective-C либ
  • Написаны unit тесты (около 10% покрытия)
  • Содержит необходимые logging, assert
  • Разбит умеренно на модули/классы
  • Некоторые методы/свойства/параметры документированы
  • Core Graphics для отрисовки шкалы времени и интервалов
  • Storyboard/xib для всех интерфейсов
  • Size-Class-Specific Layout / Autolayout

Книга Swift

Troubleshooting

При использовании этого проекта в своем проекте обязательно добавьте либы/фреймворки, которые использует vlc, дабы избежать следующие ошибки

Вариант ошибки Требуемые либы
undefined symbols Требуемые либы