使用 .NET Windows Media Player 库,我能够以编程方式获取和更改 Windows Media Player 的各种文件属性(如用户评级)。我希望使用同一个库通过Player.openPlayer(url)
调用来控制(播放、停止、下一个等)Windows Media Player 实例。理论上,这通过 Player.controls 对象应该是非常可能的,但是当我去访问它们时,没有一个控件可用。除了控件对象之外,我几乎可以使用所有播放器属性/方法/事件。这是一些示例代码来说明我尝试过的内容:
import clr
clr.AddReferenceToFile( "Interop.WMPLib.dll" )
from Interop.WMPLib import WindowsMediaPlayerClass
wmp = WindowsMediaPlayerClass()
wmp.openPlayer(r"C:\Users\Public\Music\Sample Music\Kalimba.mp3")
这很好用,但是当我执行以下操作时:
print wmp.controls.isAvailable("play").ToString()
print wmp.controls.isAvailable("pause").ToString()
print wmp.controls.isAvailable("stop").ToString()
...
每个控件我都错了。为什么这些控件不适用于我的(简单)应用程序?我可能会以错误的方式解决这个问题吗?我使用的是 WMP 12,所以它应该不仅仅是兼容的。我真的不想使用其他 API,但我愿意在这一点上尝试任何东西。
以下是参考文档:http: //msdn.microsoft.com/en-us/library/dd564034%28v=vs.85%29.aspx
编辑: 快速修复暂时保留,但我还没有找到实际的解决方案。