15 марта 2013 года вышла первая публичная версия мобильного AIMP. С этого момента прошло уже без малого 10 лет. За это время мы прошли большой путь — от самой простой версии, где было всего несколько кнопок и плейлист, до версии с поддержкой мультиплейлистов, NAS, облачных хранилищ и много чего еще. Да, возможно, развитие шло не так быстро, как многим хотелось, но Андроид тоже развивался: менялись требования к приложениям, вводились ограничения, появлялись новые варианты прошивок на базе этой ОС с другим поведением штатных функций. Значительная часть времени уходила просто на адаптацию приложения под новые реалии.
Сегодня мы хотим представить вам AIMP4 — следующее крупное обновление для плеера для ОС Андроид.
Работа с файлами
Как вы знаете, с Android 11 появились ограничения на доступ к файловой системе — приложения больше не имеют доступа к файлам пользователя даже для чтения. Google рекомендует использовать storage access framework (SAF). Все релизы, начиная с v3.20, использовали этот рекомендованный подход, и, к сожалению, подход показал себя крайне негативно — люди не понимают этих ограничений и винят в этом нас.
Ограниченный доступ
В ОС есть специальное разрешение для музыкальных приложений, оно дает возможность использовать старый механизм доступа к файловой системе, но при этом позволяет видеть в папках только аудиофайлы*.
*К сожалению, ОС Андроид считает аудиофайлами далеко не все аудиофайлы. При таком доступе:
- Вы не сможете проиграть музыку в форматах APE, MPC, WV, TTA, DSF, DFF, WebM, UMX, MOD, MO3, IT, S3M, XM
- Вы не сможете импортировать плейлисты в форматах, отличных от XSPF и M3U
- Подхват текстов песен (SRT) и файлов разметки CUE работать не будет!
Эти ограничения сводят ключевые «фишки» AIMP на нет, поэтому переход на SAF два года назад казался единственным верным решением…
Смена подхода в AIMP
В AIMP4 мы полностью пересмотрели работу с файловой системой (спасибо Soolo).
С этой версии плеер использует гибридный механизм доступа к файловой системе: прямо «из коробки» вы получаете доступ ко всей файловой системе, внутренней память телефона, флешкам и картам памяти, но в ограниченном режиме (только аудио). Если вам нужен доступ к CUE или другим форматам файлов, вы просто предоставляете плееру полный доступ к нужной папке через SAF. После этого приложение будет работать с этой папкой уже через новый механизм доступа к файловой системе.
Рассмотрим на примере:
Справа от папок, к которым у плеера есть только ограниченный доступ (только к аудиофайлам с точки зрения Андроид), рисуется иконка с восклицательным знаком. При заходе в такую папку — плеер подскажет, что имеет доступ не ко всем файлам:
Тап по баннеру откроет окно с предложением открыть полный доступ к папке:
Жмем «полный доступ» и, в последующем диалоге, кнопку «использовать эту папку»:
После этого баннер с подсказкой пропадает, а в папке становятся видны все аудиофайлы, поддерживаемые плеером:
Отслеживание доступа
Помимо этого, появился механизм отслеживания статуса доступа к внешним провайдерам. Если у плеера отзывают доступ к провайдеру — у него в списке меняется статус и он помечается специальной лычкой:
* * *
Мы верим и надеемся, что гибридный подход доступа упростит пользование плеером и снизит объем негатива в наш адрес из-за ограничений Google.
Плейлисты
Асинхронная работа
С этого момента все операции по изменению плейлистов выполняются асинхронно, это решение должно повысить отзывчивость интерфейса и избавить от плашек «приложение не отвечает», что возникали ранее при работе с большими плейлистами.
Сводка
Теперь в режиме множественного выбора AIMP показывает сводку только для выбранных файлов:
Отправить в плейлист
Теперь вы можете отправить выбранные файлы сразу в несколько плейлистов:
Менеджер плейлистов
Известный также как «управление плейлистами», появился и в мобильной версии плеера:
Здесь вы можете:
- Создать новый плейлист
- Создать новые плейлисты на основе папок
Для каждой выбранной папки создастся отдельный плейлист - Импортировать уже созданные плейлисты
- Посмотреть информацию о плейлисте:
Размер, длительность, когда был создан, когда изменен, есть ли прообраз и др. - Отсортировать плейлисты вручную или по одному из шаблонов
- Синхронизировать содержимое выбранных смарт-плейлистов
- Экспортировать выбранные плейлисты на диск
- Объединить выбранные плейлисты в группу
- Удалить выбранные плейлисты
Сортировка плейлистов
Сортировка плейлистов теперь реализуется исключительно через менеджер плейлистов, в главном меню этого функционала больше нет.
Изменили поведение опции «автоматическая сортировка списка плейлистов» — теперь ее статус и шаблон зависят от того, что вы выберите в менеджере плейлистов при сортировке:
Стоит заметить, что опция самостоятельно выключится после ручной сортировки списка плейлистов.
Группировка плейлистов
Группировка плейлистов призвана разгрузить главное меню:
Тап по заголовку группы распахивает ее и мы видим содержащиеся в ней плейлисты:
Повторный тап по заголовку группы — закроет ее.
Чтобы объединить плейлисты в группу, перейдите в менеджер плейлистов, выберите необходимые плейлисты и воспользуйтесь командой «группировать»:
Фонотека
Да, вам не показалось, в плеере появилась фонотека!
Движок фонотеки у нас полностью свой, он никак не завязан на системную, о которой мы нелестно отзывались в итогах 2021 года. На текущий момент, поддерживаются только локальные файлы (в том числе с флешек и карт памяти).
В главном меню фонотека представлена в виде отдельной группы, в которой перечислены все категории*:
*список отображаемых категорий можно настроить. Если отключить все категории — фонотека исчезнет из меню и вы вновь получите классический плеер.
Категории
На текущий момент в фонотеке представлены 5 категорий: исполнители, альбомы, треки, жанры и папки.
Исполнители
Здесь отображаются исполнители и исполнители альбомов:
В качестве миниатюры по умолчанию берется обложка первого альбома исполнителя, однако вы можете задать изображение вручную.
Тап по исполнителю открывает экран с его альбомами:
Тап по альбому — экран с треками.
Альбомы
В отличие от других категорий фонотеки, альбомы могут показываться в виде миниатюр (с выбором 2х, 3х и 4х миниатюр на строку):
Тап по альбому открывает экран с треками.
Треки
Экран с треками представляет собой хаб категорий с группировкой треков по критериям, основанных на статистике воспроизведения:
- Все треки
Простой линейный список всех песен в фонотеке - Новые треки
Здесь отображаются треки, добавленные в БД фонотеки в течение месяца - Недавно проигранные
Здесь отображаются треки, которые были прослушаны за последний месяц - Ни разу непроигранные
- Забытые треки
Здесь отображаются треки, которые не проигрывались больше 3-х месяцев
Жанры
Так же как и для исполнителей, вы можете задать свою собственную миниатюру для каждого из жанров.
Папки
В этой категории плеер показывает папки, как они лежат на диске, сохраняя оригинальную иерархию.
Воспроизведение
Как и в версии для ПК, фонотека выступает в роли каталогизатора, за проигрывание по-прежнему отвечают плейлисты. Когда вы запускаете трек из фонотеки — создается временный плейлист, куда отправляется текущая выборка фонотеки.
Настройки
Если вы не пользуетесь и не хотите пользоваться фонотекой — отключите автоматический поиск файлов, а так же все отображаемые вкладки. Фонотека исчезнет из UI, и плеер вновь приобретет классический вид.
Редактор тегов
На этом наши нововведения не заканчиваются. В AIMP4 появилась долгожданная функция — редактирование тегов!
На текущий момент редактор поддерживает базовые поля, обложку альбома и текст песни:
На текущий момент редактор работает с
- ID3v2 / ID3v1
- MP4
- Vorbis Comments в FLAC / OGG (OPUS пока не поддерживается)
* * *
Минимальной поддерживаемой версией Андроид станет Android 6.0 Marshmallow. Запуск публичного бета-тестирования запланирован на конец апреля — начало мая.
Отличные новости!
Долгожданные редактор тегов (прощайте альтернативы которые пришлось держать) и сортировка плейлистов, ура! 🙂
PS
«Часть аудиофайлов может быть невидна» — НЕ ВИДНА пишется раздельно 😉
Да, уже поправили
PPS
Возможно ли в будущем появление функционала дополнений?
Что за дополнения вам нужны?
Например, визуализации, поиск текста и обложек в Интернете
Поиск обложек есть. Визуализации планируем сделать в рамках поддержки Android TV. Просто на Андроиде все очень плохо с «плагинами» (в традиционном понимании их просто нет)
Как вариант сделать то что в Tachiyomi(читалка манги) т.е. плагины как отдельные приложения apk выполненные по определёнными правилами.
Видел такое решение, но не знаю как они обошли проблемы производительности при общении между приложениями
Исходники приложения открыты. Можно посмотреть.