diff --git a/desktop-client/main.py b/desktop-client/main.py index c9098bb..926c4c7 100644 --- a/desktop-client/main.py +++ b/desktop-client/main.py @@ -517,15 +517,17 @@ class VlcSyncApp(QMainWindow): self.join_room_btn.setText("Join Room") self.chat_messages.setHtml("Welcome to the room! 👋") + state = msg.get("state", {}) + start_time_s = state.get("position", 0.0) if state else 0.0 + if self.local_file_path: - self.vlc_player.load_media(self.local_file_path) + self.vlc_player.load_media(self.local_file_path, start_time_s) self.vlc_player.set_volume(self.volume_slider.value()) users = msg.get("users", []) if users: self.on_users_updated(users) - state = msg.get("state", {}) if state: self.on_sync_event(state) diff --git a/desktop-client/vlc_player.py b/desktop-client/vlc_player.py index 809295f..af05d5c 100644 --- a/desktop-client/vlc_player.py +++ b/desktop-client/vlc_player.py @@ -43,8 +43,10 @@ class VLCSyncPlayer: self.ignore_next_event = False self.lock = threading.Lock() - def load_media(self, path: str): + def load_media(self, path: str, start_time_s: float = 0.0): media = self.instance.media_new(path) + if start_time_s > 0: + media.add_option(f"start-time={start_time_s}") self.media_player.set_media(media) def play(self):