When joining a room sync video playback if playing
This commit is contained in:
@@ -517,15 +517,17 @@ class VlcSyncApp(QMainWindow):
|
|||||||
self.join_room_btn.setText("Join Room")
|
self.join_room_btn.setText("Join Room")
|
||||||
self.chat_messages.setHtml("Welcome to the 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:
|
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())
|
self.vlc_player.set_volume(self.volume_slider.value())
|
||||||
|
|
||||||
users = msg.get("users", [])
|
users = msg.get("users", [])
|
||||||
if users:
|
if users:
|
||||||
self.on_users_updated(users)
|
self.on_users_updated(users)
|
||||||
|
|
||||||
state = msg.get("state", {})
|
|
||||||
if state:
|
if state:
|
||||||
self.on_sync_event(state)
|
self.on_sync_event(state)
|
||||||
|
|
||||||
|
|||||||
@@ -43,8 +43,10 @@ class VLCSyncPlayer:
|
|||||||
self.ignore_next_event = False
|
self.ignore_next_event = False
|
||||||
self.lock = threading.Lock()
|
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)
|
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)
|
self.media_player.set_media(media)
|
||||||
|
|
||||||
def play(self):
|
def play(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user