feat(recordings): перемотка записей + тайм-коды треков
1) Перемотка: записи эфира — сырой ADTS-AAC/MP3 без индексов, ExoPlayer считал их неперематываемыми (старт всегда с нуля). Включён CBR-seeking (DefaultExtractorsFactory.setConstantBitrateSeekingEnabled) — seek работает. 2) Тайм-коды треков: при записи фиксируются смены now-playing с offset от начала (модель TrackMarker, колонка markers в recordings, миграция v6, захват через NowPlayingRepository — свой поллинг, не зависит от экрана). В плеере записи — список «Треки в записи»: тайм-код + название, тап переходит к моменту, текущий трек подсвечен. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -50,9 +50,15 @@ val MIGRATION_4_5 = object : Migration(4, 5) {
|
||||
}
|
||||
}
|
||||
|
||||
val MIGRATION_5_6 = object : Migration(5, 6) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("ALTER TABLE recordings ADD COLUMN markers TEXT NOT NULL DEFAULT ''")
|
||||
}
|
||||
}
|
||||
|
||||
@Database(
|
||||
entities = [StationEntity::class, TrackHistoryEntity::class, TagEntity::class, RecordingEntity::class],
|
||||
version = 5
|
||||
version = 6
|
||||
)
|
||||
abstract class AppDatabase : RoomDatabase() {
|
||||
abstract fun stationDao(): StationDao
|
||||
|
||||
Reference in New Issue
Block a user