dimazollo / SHRI-2018-2-hw3

Решение домашнего задания по мультимедиа 14-й школы разработчиков интерфейсов

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SHRI-2018-2-hw3

Решение домашнего задания по мультимедиа 14-й школы разработчиков интерфейсов

Сборка и запуск

  • установка зависимостей - yarn install
  • запуск - в файле src/videoInitialization.js установить корректные параметры тестового сервера с потоками и выполнить команду npm start
  • сборка - npm run build

Комментарии

Основной скрипт находится в файле src/index.js. Состояние каждого видео с его настройками хранится в объекте класса VideoModel. Все они помещены в объект state, экспортируемый в файле state.js. Также в state.js есть поле, отвечающее за текущее активное видео. Инициализация стримов с использованием библиотеки Hls описана в файле videoInitialization.js. Функции анимации открытия/закрытия помещены в файл animation.js.

Реализованы

  • анимация открытия/закрытия как в приложении Photo Booth. Выполнено с помощью css трансформаций (scale, transition, transform-origin)
  • фильтры яркости и контрастности в видео. Выполнено с помощью css фильтров.
  • анализатор громкости звука в потоке открытой камеры. Выполнено с использованием ScriptProcessorNode. Индикатор сделан с использованием div элемента, динамически меняющего свои размеры (transform scale) и цвет в зависимости от общего уровня громкости аудио в видеопотоке.

Из мобильных устройств тестировалось на Android.

About

Решение домашнего задания по мультимедиа 14-й школы разработчиков интерфейсов


Languages

Language:JavaScript 71.9%Language:HTML 14.8%Language:CSS 13.3%