2012-04-20 137 views
15

我正在開發一個應該做某事的簡單Python腳本,然後播放一個視頻文件,然後再做更多的事情。使用VLC播放視頻文件,然後退出VLC

我不得不做這的Windows XP機器上的Python 3.2.3VLC發揮我的視頻文件。我目前使用此代碼

...

vlc_path = '\\path\\to\\vlc.exe' 
video_path = '\\path\\to\\video\\file' 
subprocess.call([vlc_path, video_path]) 

...打開VLC和播放視頻。它很好地工作。但是,腳本在繼續之前等待VLC退出。這是好的,我想保持這種方式。

我的問題是:有沒有辦法在視頻文件播放後立即退出VLC?

非常感謝您的幫助!

+2

附加控制vlc有python綁定:http: //wiki.videolan.org/Python_bindings – bmu 2012-04-20 15:53:17

+0

謝謝,bmu,但那比我需要的多。 :) – Florian 2012-04-24 16:47:29

回答

35

有趣的是,VLC對這樣的命令行選項:

--play-and-exit, --no-play-and-exit 
          Play and exit (default disabled) 

所以,只要通過這個選項VLC。

+1

謝謝,這工作完美。有一件事似乎很重要,那就是你設置了'shell = True'。這對我有用: 'subprocess.call([vlc_path,video_path,'--play-and-exit','--fullscreen'],shell = True)' – Florian 2012-04-24 15:51:09

+1

@Florian。奇怪。對我來說,'shell = False'起作用,'True'不起作用。但是,感謝您的實施! – Mathias711 2014-12-12 13:49:59

+0

這對我在Windows 10上運行vlc不起作用。但是添加下面提到的虛擬項目並沒有什麼用。 – 2015-10-16 13:08:13

0

我能想到的最好方法是在視頻長度過去之後由單獨的線程終止進程,如果您知道Python中視頻的長度。在其他地方,它依賴於VLC-s命令行選項。也許你可以告訴他在播放電影后關閉。

+2

這裏最好使用命令行選項,而不是不清潔地終止進程。 – logain 2014-04-14 22:29:39

0

如果沒有除vlc後的作品嚐試使用選項--ignore-config開頭http://quit結尾