From abdb48ec461e1ae57c39c4b0c8fb283c09659fdf Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Mon, 29 Jul 2024 12:44:10 +0200 Subject: [PATCH] Make video seekable --- .../net/newpipe/newplayer/model/VideoPlayerViewModel.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt index 973768a..f10637b 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt @@ -109,6 +109,7 @@ class VideoPlayerViewModelImpl @Inject constructor( // private private val mutableUiState = MutableStateFlow(VideoPlayerUIState.DEFAULT) private var currentContentRatio = 1F + private var uiVisibilityJob: Job? = null private var progressUpdaterJob: Job? = null @@ -225,6 +226,7 @@ class VideoPlayerViewModelImpl @Inject constructor( override fun pause() { uiVisibilityJob?.cancel() newPlayer?.pause() + } override fun prevStream() { @@ -295,7 +297,10 @@ class VideoPlayerViewModelImpl @Inject constructor( override fun seekingFinished() { resetHideUiDelayedJob() - Log.d(TAG, "TODO: Implement seeking Finished") + val seekerPosition = mutableUiState.value.seekerPosition + val seekPositionInMs = (player?.duration?.toFloat() ?: 0F) * seekerPosition + player?.seekTo(seekPositionInMs.toLong()) + Log.i(TAG, "Seek to Ms: $seekPositionInMs") } override fun switchToEmbeddedView() {