我在寻找一个交互的方式,与一个独立的完整版本的Windows Media Player。
主要是我需要知道的路径的当前播放的轨道。

ITunes SDK使得这真的很容易,但不幸的是真的没有任何方法来做到这Windows Media Player的,至少不在。网(C#)没有任何重型使用的pinvoke,我真的不舒服。

感谢

只是为了clearify:我不想嵌入一个新的实例Windows Media Player在我的程序,而是控制/读出"真正的"完整版本的Windows媒体播放器,开始seperatly由用户

有帮助吗?

解决方案

我有这个 https://social.msdn.microsoft.com/Forums/vstudio/en-US/dbd43d7e-f3a6-4087-be06-df17e76b635d/windows-media-player-remoting-in-c?forum=clr 在我的书签但没有测试过它无论如何。只是一个指向正确的方向。这没有什么官方的,并且将需要一点点的挖掘,但是你应得到一个相当简单的包装(它仍将使用PInvoke引擎盖下的-但你不会看到它)围绕Windows Media Player。

希望这有所帮助。

哦,我误解。我以为你说的是控制目前运行Windows Media Player的实例。如果你正在主持Windows Media Player自己然后WMPLib肯定是更好的解决方案。

其他提示

只是添加一个参考wmp.dll (\windows\system32\wmp.dll)

using WMPLib;

然后你可以化一个媒体播放器

var Player = new WindowsMediaPlayer();
// Load a playlist or file and then get the title 
var title = Player.controls.currentItem.name;

看看 创造Windows Media Player编程控制 更多信息

用于远程处理的Windows Media Player,可以使用IWMPRemoteMediaServices接口控制的独立Windows Media Player。你应该能够读取所有的信息你想像的标题或文件从你的WMP播放对象。不幸的是,没有C#smaple码在SDK包括在内。你可以得到的文件,从这里: http://d.hatena.ne.jp/punidama/20080227 看看文件WmpRemote.zip 它最初是从这里: http://blogs.msdn.com/ericgu/archive/2005/06/22/431783.aspx

那你要投给WindowsMediaPlayer对象:RemotedWindowsMediaPlayer rm=new RemotedWindowsMediaPlayer();WMPLib.WindowsMediaPlayer myPlayer=这一点。GetOcx()作为WMPLib.WindowsMediaPlayer;

你去那里..

最好的信息,我已经看到在相互作用的Windows Media Player的是这个 文章 由斯蒂芬*Toub.

他列举了整个载荷为不同的方式来发挥dvr-ms的文件(没有真正的问题是什么格式,它们对这一虽然).位,可能是你感兴趣的是关于使用媒体播放器件的控制,这可以添加到visual Studio的"工具箱"右击和添加Windows Media Player件COM控制。然后你可以嵌入放到你的应用程序,并访问各种性质的媒体播放器,就像url:

WMPplayer.URL = stringPathToFile;

这种解决方案可能不是你想要的,因为它是开始一个新的实例媒体播放器(就我所知道的),但是它可能意你在正确的方向。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top