2013-10-31 69 views
3

我啓動了subprocess以使用其call方法在Window Media Player上播放視頻。在Windows Media Player中播放完成

例如。 subprocess.call('"C:/Program Files (x86)/Windows Media Player/wmplayer.exe" "C:/Users/Public/Videos/Sample Videos/Wildlife.wmv"')

現在,我該如何檢查播放器中的播放是否在該特定視頻中完成。

是否有可用的任何直接的API的Windows媒體播放器 或者 有一種方法來聽子命令使用Popen

如啓動。

p = subprocess.Popen('"C:/Program Files (x86)/Windows Media Player/wmplayer.exe" "C:/Users/Public/Videos/Sample Videos/Wildlife.wmv"') 
# while the placback is happening 
    p.wait() 
# otherwise 
    p.kill() 
+0

我們可以假設用戶不打算控制這些控件,並且該文件將不間斷播放嗎? – Paul

+0

對於遲到的回覆感到抱歉,yes用戶根本不會使用播放選項。 –

回答

1

直接WMP API:

subprocess.call('"C:/Program Files (x86)/Windows Media Player/wmplayer.exe" /play /close "C:/Users/Public/Videos/Sample Videos/Wildlife.wmv"')

加入/播放/關閉會做要緊。

http://support.microsoft.com/KB/241422更多選項。

希望未來能幫到別人。

+0

鏈接的文章是爲mplayer2,而不是wmplayer。/play/close不是wmplayer的有效選項。請參閱此鏈接以獲取wmplayer.exe的有效選項:https://msdn.microsoft.com/en-us/library/windows/desktop/dd562624(v=vs.85).aspx –

相關問題