31 lines
1019 B
Kotlin
31 lines
1019 B
Kotlin
package core.utils
|
|
|
|
import androidx.compose.runtime.mutableStateMapOf
|
|
import androidx.compose.runtime.mutableStateOf
|
|
import androidx.compose.runtime.*
|
|
|
|
object PlaybackManager {
|
|
// Храним позиции воспроизведения: URL -> Position (Long)
|
|
private val savedPositions = mutableMapOf<String, Long>()
|
|
|
|
// ID сообщения, которое воспроизводится сейчас (чтобы останавливать другие)
|
|
var currentPlayingUrl = mutableStateOf<String?>(null)
|
|
|
|
// Глобальная скорость проигрывания (сохраняем между треками)
|
|
var globalPlaybackSpeed = mutableStateOf(1.0f)
|
|
|
|
fun savePosition(url: String, position: Long) {
|
|
if (url.isNotBlank()) {
|
|
savedPositions[url] = position
|
|
}
|
|
}
|
|
|
|
fun getPosition(url: String): Long {
|
|
return savedPositions[url] ?: 0L
|
|
}
|
|
|
|
fun resetPosition(url: String) {
|
|
savedPositions[url] = 0L
|
|
}
|
|
}
|