From 6e669b2aa9e609ed9fdac8b7948bf4002a586d45 Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Thu, 17 Oct 2024 09:10:09 +0200 Subject: [PATCH] fix: pause playback while seeking --- modules/vlc-player/ios/VlcPlayerView.swift | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/vlc-player/ios/VlcPlayerView.swift b/modules/vlc-player/ios/VlcPlayerView.swift index 08d22013..6ab82021 100644 --- a/modules/vlc-player/ios/VlcPlayerView.swift +++ b/modules/vlc-player/ios/VlcPlayerView.swift @@ -80,8 +80,22 @@ class VlcPlayerView: ExpoView { @objc func seekTo(_ time: Int32) { DispatchQueue.main.async { [weak self] in - guard let self = self else { return } - self.mediaPlayer?.time = VLCTime(int: time) + guard let self = self, let player = self.mediaPlayer else { return } + + let wasPlaying = player.isPlaying + if wasPlaying { + player.pause() + } + + player.time = VLCTime(int: time) + + // Wait for a short moment to ensure the seek has been processed + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { + if wasPlaying { + player.play() + } + self.updatePlayerState() + } } }