When i use set_mrl(...)
function sometimes the window is reopen i need to keep the window never closed because i used to make share screen automation app.
the note i use python 3.11 with latest libvlc version, and this is my player code
import vlc
import typing as t
import logging
import os
_LOG = logging.getLogger("player.vlc_player")
# https://stackoverflow.com/questions/59377717/how-to-disable-error-messages-output-by-python-vlc-mediaplayer-object
os.environ['VLC_VERBOSE'] = '-1'
class VlcPlayer:
def __init__(self, stream_uri: str) -> None:
self.stream_uri = stream_uri
self.player: vlc.MediaPlayer = vlc.MediaPlayer(stream_uri, "--play-and-pause")
self.player.toggle_fullscreen()
def play(self) -> None:
self.player.play()
def pause(self) -> None:
self.player.pause()
def resume(self) -> None:
self.player.play()
def is_playing(self) -> bool:
return self.player.is_playing()
def get_stream_uri(self) -> str:
return self.stream_uri
def set_stream_uri(self, stream_uri: str) -> None:
self.stream_uri = stream_uri
self.player.set_mrl(stream_uri)
self.player.play()
def get_time(self) -> t.Union[int, t.Any]:
return self.player.get_time()
def set_time(self, time: int) -> None:
self.player.set_time(time)
def get_length(self) -> t.Union[int, t.Any]:
return self.player.get_length()
def get_volume(self) -> t.Union[int, t.Any]:
return self.player.audio_get_volume()
def set_volume(self, volume: int) -> None:
self.player.audio_set_volume(volume)
def stop(self) -> None:
self.player.stop()
also this is my usage
import time
player = VlcPlayer("./images/wating.jpg")
time.sleep(10)
player.set_stream_uri("some url")
time.sleep(1000)
I try set instances to "--play-and-pause" but is not work & i try this solution but not worked with me
win_id = player.get_hwnd()
player.set_hwnd(win_id) # https://stackoverflow.com/questions/65056433/libvlc-keep-window-opened-between-videos