【问题标题】:libvlc - keep window opened between videoslibvlc - 在视频之间保持窗口打开
【发布时间】:2020-11-29 22:26:40
【问题描述】:

我在 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() 函数但没有成功。

感谢您的提前。

【问题讨论】:

  • 鉴于您没有调用图形环境,正如@mfkl 指出的那样,您没有可分配给vlcwindow。因此,它每次都会创建自己的。
  • @RolfofSaxony 这就是我要找的!谢谢!如果你愿意,我会接受这个作为答案。

标签: python python-3.x linux vlc libvlc


【解决方案1】:

如果你不指定一个,libvlc 将创建(我猜是关闭)窗口。

你应该告诉 libvlc 使用哪个窗口。具体如何操作取决于您使用的平台。

  • 在 Linux 上,将 libvlc_media_player_set_xwindow 与窗口句柄一起使用。
  • 在 Windows libvlc_media_player_set_hwnd.
  • 在 macOS 上是libvlc_media_player_set_nsobject

这将允许您使用任何给定的窗口进行连续播放。

【讨论】:

  • 我尝试使用media_player.set_xwindow(0),但没有帮助。视频播放之间仍有小闪光。
  • 请分享您的完整代码和问题视频
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 2014-04-20
  • 1970-01-01
  • 2012-09-03
  • 2010-12-26
  • 1970-01-01
相关资源
最近更新 更多