Skip to content

xima.music 1.1.0

Latest

Choose a tag to compare

@proxima812 proxima812 released this 16 Aug 22:54
· 2 commits to main since this release

Персональный офлайн-плеер для Android: без аккаунтов, серверов и сетевых запросов.
Музыка берётся из памяти телефона — из общей медиатеки и из выбранных папок.

Установка

Important

Сборка подписана новым ключом. Пароль от прежнего хранилища утерян и
восстановлению не подлежит, поэтому поверх установленной 1.0.1 эта версия не
встанет: Android откажет с INSTALL_FAILED_UPDATE_INCOMPATIBLE. Придётся
удалить приложение и поставить заново — плейлисты, избранное и история при
этом пропадут
, библиотека пересоберётся сканированием. Дальнейшие обновления
будут вставать поверх как обычно.

Скачайте xima.music-1.1.0.apk ниже и откройте на телефоне — Android спросит
разрешение на установку из неизвестного источника. Либо через adb:

adb uninstall com.xima.music     # если стоит 1.0.1
adb install xima.music-1.1.0.apk

Один файл на все архитектуры: arm64-v8a, armeabi-v7a, x86, x86_64.
Нужен Android 8.0 и новее (minSdk 26), собрано под SDK 36.

Проверка файла:

SHA-256  b40eeeb33e4fd39c68d48057d290e36e97942b8909c7364bddbb4300b6a072c9

Подпись самодельная, поэтому обновления встают только поверх сборок с тем же
ключом. Отпечаток сертификата (SHA-256):

16a6913274b950615d04897550cc1ee3109f51ec5133cb0289b9e360afca9e48

Что нового после 1.0.1

  • Главная сортируется по исполнителю. Авторы по алфавиту, внутри автора —
    его треки. Рядом с «Перемешать» появилось меню сортировки: порядок общий с
    вкладкой «Песни», чтобы два списка одной библиотеки не расходились.
  • Очередь идёт по кругу. Доиграл последний трек — пошёл первый. Повтор всей
    очереди стал режимом по умолчанию. Само по себе это не сработало бы:
    сохранённые режимы доезжали до плеера только на пути восстановления прошлой
    очереди — теперь повтор, перемешивание и громкость уходят туда на каждом
    старте.
  • Плавный переход между треками. Хвост трека уводится в тишину, следующий
    из неё поднимается; ручное «дальше» нарастает за 300 мс, чтобы кнопка не
    казалась тормозной. Настройка «Плавный переход» в разделе «Воспроизведение»,
    по умолчанию 2 секунды, ноль выключает. Раньше crossfadeMs лежала в
    настройках, но никуда не отправлялась — плеер о ней не знал.
  • Новая иконка.

Наложения дорожек в переходе нет: у сессии один ExoPlayer, звучит это как
затухание с нарастанием, а не как перекрёстный микс. Настоящий кроссфейд
требует двух плееров за фасадом SimpleBasePlayer — отдельная работа.

Известные проблемы

  • 1.1.0 на устройстве не проверялась. Пройдены гейты: typecheck, сборка,
    233 теста ядра, clippy, компиляция Kotlin с тестами, cargo check под
    aarch64-linux-android. Как плавный переход звучит на живом телефоне — не
    слушали.
  • Редкий нативный краш во время воспроизведения — воспроизвести прицельно пока
    не удалось (BUGS.md, B7).
  • Системная кнопка «назад» при открытом плеере сворачивает приложение, а не
    закрывает плеер (B10).
  • Не проверялись: обход SAF-дерева, повороты экрана, большие библиотеки.
    Честный список — в docs/BUGS.md.

Хотите дополнить

Проект под MIT. Что читать перед первой правкой и какие ловушки есть в
окружении — в разделе «Как помочь» в
README.