feat(player): переключатель качества звука на экране воспроизведения

Перепроверены все 594 рабочие станции на наличие битрейт-вариантов
потока (скрипт-пробер). У 71 станции найдено по 2–4 качества
(Record-флагманы 96/64/32, zaycev 256/128/48, ВГТРК 192/128/64,
НАШЕ/Орфей/Шансон HQ и др.) — записаны в поле qualities в stations.json.
HLS (EMG) и Love (UID-привязка) корректно пропущены.

Клиент: модель StreamQuality, хранение в Room (миграция v5),
предпочтение битрейта в настройках. На экране плеера — чип текущего
качества (виден только если вариантов ≥2) и шторка «Качество звука»
со ступенями; переключение на лету без сброса now-playing, выбор
запоминается между станциями.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nk
2026-06-04 12:36:47 +03:00
parent 5b256a3421
commit 5ffaf9a924
13 changed files with 1473 additions and 89 deletions

View File

@@ -41,7 +41,10 @@ class LocalStationDataSource @Inject constructor(
genre = group?.name ?: "",
tags = listOfNotNull(group?.name?.takeIf { it.isNotBlank() }),
sortOrder = dto.id,
source = if (isRecord) "record" else "local"
source = if (isRecord) "record" else "local",
qualities = dto.qualities.orEmpty().map {
com.radiola.domain.model.StreamQuality(it.bitrate, it.url, it.type)
}
)
}
}