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 выполненные по определёнными правилами.
Видел такое решение, но не знаю как они обошли проблемы производительности при общении между приложениями
Исходники приложения открыты. Можно посмотреть.
А планируете лёгкую версию плеера? Например, просто один плейлист: без странички с обложкой, без текста песни, без визуализации и т.д. Просто Плейлист с возможностью сделать несколько плейлистов.
Это можно сделать с помощью редактора скинов.
Жаль я в этом не понимаю.
Спасибо за труды!
В «моя музыка» в альбомах, даже если альбом один, а исполнители разные, то отображаются в разных карточках. Это не совсем удобно. Хотелось бы если одно название у альбома, то они бы были вместе
Исполнитель альбома заполнен?
Это может показаться странным… Но мне не хватает функции дублирования плейлистов.
По поводу доступа ко всем файлам, можно сделать директ версию, распространяемую отдельно, как у телеграма например. Насколько мне известно, доступ ко всем файлам не одобряет гугл, когда пытаешься опубликовать приложение в PL. Но это конечно да сложно, центр обновлений делать, да и поддерживать 2 отдельных версии.
Очень бы хотелось плагины на андроид, а, конкретно, вк плагин. Ни один плеер для вк по удобству не сравнился с аимпом с вк плагином. Это был бы закат карьеры всех таких плееров. Нигде нет достойного эквалайзера, интеграции хорошей в андроид. Да и дело в том, что вся музыка тогда будет в одном плеере, а это очень удобно.
Так у нас есть такая версия — лежит на сайте в виде отдельной APK-шки. Другой вопрос, что с выходом AIMP4 она не особо будет и нужна.
Эм, так плагин для ВК для ПК версии плеера уже давно заброшен и не работает. АПИ стал закрытым, а ВК его часто меняют. Не проще ли скачать треки локально? Не будете зависеть ни от ВК, ни от стабильного интернета.
Эх, плохо искал я получается… Артем, Вы полностью легендарны)
С доступом этим только нельзя выбрать папку Downloads, но это, кажется, легко обойти.
В вк плагине не работает только авторизация, но я нашел способ ее обойти, вручную вписав вк токен в файле AIMP.ini (писал об этом в обсуждении плагина). Все остальное в вк плагине работает прекрасно.
Хранить треки треки локально это здорово, но не проще, если речь идет о свежедобавленных треках. Сами они не скачаются, а еще в плейлист надо добавлять. А это либо вручную искать, либо обновлять плейлист и ждать пока он обновится полностью. Короче, долго и сложно. А чтобы еще и теги нормальные были… Тут уже мой перфекционизм мне мешает)