2013-10-31 91 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 –

相关问题