我正在尝试使用 VLC 播放视频,并在视频播放完毕后关闭窗口。但是,我无法关闭播放器窗口。我尝试发布播放器和媒体的实例,但它不起作用。而且我在 API 文档中找不到其他任何内容。
请注意,我不想在播放器完成后终止整个应用程序,因此sys.exit
不是一个选项。
以下代码是我正在做的。
import vlc
VIDEO_PATH="/path/to/video.mp4"
def get_end_callback(mediaplayer):
def end_callback(event):
print("End of playing reached")
mediaplayer.stop()
mediaplayer.get_media().release()
mediaplayer.release()
mediaplayer.get_instance().release()
return end_callback
def play():
vlc_instance = vlc.Instance(["--no-xlib"])
media_player = vlc.MediaPlayer(vlc_instance, VIDEO_PATH)
media_player.play()
event_manager = media_player.event_manager()
event_manager.event_attach(vlc.EventType.MediaPlayerEndReached, get_end_callback(media_player))
play()
input("press Enter to exit")
我正在用python=3.9
, python-vlc=3.0.12118
, vlc=3.0.9.2
, on对其进行测试Ubuntu=20.04
。我还尝试了另一台具有较旧操作系统和较旧 VLC 的机器。