我在libvlc周围使用python包装器来播放视频。问题是,在我停止以前的视频播放并开始播放新的视频后,窗口会重新打开。我正在努力实现窗口仍然打开的状态,我可以在这个窗口中更改视频,而不需要后面的桌面闪烁。
import time
import vlc
i = vlc.Instance()
media_player = i.media_player_new()
media_player.set_fullscreen(True)
m1 = i.media_new('vid1.mp4')
m2 = i.media_new('vid2.mp4')
media_player.set_media(m1)
media_player.play()
time.sleep(5)
media_player.stop()
media_player.set_media(m2)
media_player.play()
time.sleep(5)
media_player.stop()
我也尝试过使用set_xwindow()
函数,但没有成功。
谢谢你的预付款。
如果不指定窗口,libvlc将创建(我想是关闭(窗口。
您应该告诉libvlc要使用哪个窗口。你如何做到这一点取决于你使用的平台。
- 在Linux上,将
libvlc_media_player_set_xwindow
与窗口句柄一起使用 - 在Windows
libvlc_media_player_set_hwnd
- 在macOS上,这是
libvlc_media_player_set_nsobject
这将允许您使用任何给定的窗口进行连续回放。
我认为这解决了的问题
hwnd = player.get_hwnd()
player.set_hwnd(hwnd)