Latin Dance Fitness Alliance, LDFA
Обучение
Россия, Москва
IOS, Android
Август 2023
Разработать мобильное приложение для членов LDFA с возможностью создавать аудио/видеоальбомы и редактировать музыкальные треки для составления танцевальных программ.
Latin Dance Fitness Alliance, LDFA (ЛДФА) — компания, которая занимается популяризацией танцевального фитнеса в России и Беларуси, объединяет в сообщество сертифицированных инструкторов и поклонников танцевальных фитнес-программ.
Особенности проекта:
— управление приложением через админпанель сайта
— встроенный музыкальный редактор для создания готовых плейлистов к занятиям
— счетчик темпа (BPM) и звуковые эффекты
— оптимизация приложения под любое устройство
— работа в оффлайн режиме
В прошлом году мы работали над созданием корпоративного сайта — обучающей платформы LDFA. В процессе собрали дизайн-систему, которую использовали и для приложения.
Цветовая схема, анимация идентичны в проектах и «говорят» о принадлежности к бренду.
Кроссплатформенное приложение LDFA разработано на фреймворке Flutter, и доступно пользователям Android и iOS устройств. Размещено в магазинах Google Play и AppStore.
Весь контент в разделах приложения подтягивается с сайта по API. На первой странице пользователя встречают доступные ему релизы с аудио и видео в зависимости от подписки для составления танцевальных программ.
Каждый релиз представлен в виде музыкального альбома. Вверху гистограмма BPM показывает изменения темпа на протяжении всего времени проигрывания и отдельно взятой композиции. + количество треков и общее время воспроизведения альбома.
Трек можно добавить в свой плейлист, выбрать избранные и проверить, загружен ли танцевальный урок под эту звукозапись.
Музыка и видео добавляется из релизов и по результатам поиска, а также из памяти на Android, и сохраненных треков в Apple Music на iOS. Для этого пользователям доступны материалы курсов и других обучений на специально созданных экранах, которые открываются внизу через панель навигации.
Треки и ролики можно оценить и поделиться аудио и видеоальбомами.
В iOS-системе функции для чтения файлов не позволяют получать медиафайлы напрямую, кроме того, требуются дополнительные разрешения от пользователя при запуске приложения.
Мы изучили все о правах системы iOS и написали функционал для получения медиафайлов в режиме чтения. Файлы считываются с нужного пути (ipod-library), но получить звуковую волну (waveform) файла для работы с ним остается невозможным для iOS средствами Flutter. Поэтому waveform для отображения в момент работы со звуковыми эффектами в таких медиа используется «универсальная». Само же редактирование работает с реальным треком и любые звуковые эффекты применяются корректно.
За счет созданных опций, плейлисты можно редактировать под цели занятия: меняется последовательность треков, регулируется громкость отдельной звукозаписи. При любых изменениях приложение пересчитывает гистограмму BPM. На выходе инструктор получает готовый звук для тренировки.
Для танцевальных фитнес программ нужен единый поток музыки, поэтому мы добавили кроссфейд — плавное наложение одной звуковой дорожки на другую в указанном промежутке времени. Благодаря этой функции мы получаем гармоничное и плавное восприятие звука, не отвлекаясь на резкие изменения громкости.
Есть два варианта:
1. Установить единую длительность перехода между всеми треками в плейлисте. Например, 5 секунд — такая настройка будет работать между всеми треками.
2. Добавить универсальную настройку для каждого трека в плейлисте. Например, у первого — 5 секунд, у второго — 10 секунд и так далее.
Самой оптимальной библиотекой для работы приложения стала just_audio, в которой, нет кроссфейда. По этой причине мы написали для нее свои функции и «подружили». Так, переделана вся система воспроизведения музыки и функционал сведения, отработано порядка 20 сценариев тестирования по каждой из двух операционных систем и двух режимов кроссфейда: для всего плейлиста и отдельно по трекам.
Похожих кейсов для реализации кроссфейда у нас не было. Обычно, в нем нет ничего сложного, например, в Яндекс.Музыке есть два режима вкл/выкл. Для одного трека кроссфейд настроить нельзя.
Каждый трек легко обработать. Помимо стандартных функций, аудио можно обрезать, замедлить и ускорить, добавить звуковых эффектов для разных сигналов во время тренировки.
Треки из релиза тоже редактируются, только внутри своего альбома. Так, скопировать можно весь плейлист и настроить под себя. Для удобства мы реализовали пуш-плеер, благодаря которому можно управлять воспроизведением вне приложения.
Пользователи могут сохранить треки и слушать без интернет-соединения. Кроме того, для работы оффлайн в приложении кешируется часть контента.
Для удобства клиента создали функционал управления прямо из админпанели корпоративного сайта LDFA на 1С-Битрикс. Можно загружать баннеры, составлять популярные плейлисты, вести рейтинг, проставлять теги для роликов, собирая блок «Похожие видео», а также отправлять Push-уведомления на устройства.
Отдельное внимание заслуживает работа с нагрузкой приложения. Реализованный функционал требует достаточное количество памяти в момент выполнения, поэтому для исключения любых неполадок, например, зависания или вылетов, мы тщательно поработали с потоками и оптимизировали использование памяти устройства. Стоит отметить, что речь идет не только об аудио и видеофайлах, а также о стандартной оптимизации изображений, получаемых с сайта.
Чтобы отслеживать статистику внедрили в приложение Яндекс.Метрику. Нам доступно:
— количество установок
— количество запусков
— количество копирований плейлистов от LDFA
— количество примененных эффектов из редактора, например, кроссфейд, обрезка и другие
— звуковые эффекты и их соотношение, например, 30 раз использовали наложение звука аплодисментов
— аккаунт-менеджер
— проджект-менеджер
— Flutter-разработчик
— разработчик 1С-Битрикс
— тестировщик
— дизайнер
Новое приложение расширило опции доступные участникам LDFA. Каждый инструктор получил готовый инструмент для создания музыкального сопровождения фитнес-программ, место для хранения своих сетов и мобильную версию учебных материалов. Приложение полностью заменяет иностранную разработку, которая была ДО.
Преподавателям не нужно искать сторонние приложения для создания и обработки аудио, в любой момент они могут использовать разработанный нами редактор на телефоне. Готовые плейлисты можно воспроизвести на месте и легко регулировать темп прямо во время занятий.
Дарья Инфинити
Разработка мобильного приложения — это всегда интересная задача, особенно в этом проекте. При создании нестандартного функционала, мы столкнулись с большим количеством сложностей и ограничений, которые нам удалось обойти. Всё это значительно обогатило наш опыт в разработке приложений. В конечном итоге, нам удалось воплотить в реальность все задуманные функции, и я рассчитываю, что приложение LDFA действительно принесет ценность и удобство для пользователей.
Latin Dance Fitness Alliance
Наш первый проект с Инфинити — корпоративный сайт LDFA. Во время работы команда отлично себя зарекомендовала, поэтому полное техническое сопровождение осталось на агентстве. Разработку мобильного приложения для членов LDFA естественно доверили им же. Это долгожданный функционал для нашего сообщества, который оценили все пользователи. Буквально через 2 месяца — уже больше двух тысяч зарегистрированных пользователей, и это не предел. В агентстве нас всегда понимают и оперативно реагируют на задачи, несмотря на то, что чаще всего это сложные доработки.
ИНФИНИТИ с удовольствием обсудит вашу задачу