2012-07-25 51 views
0

我想编写一个应用程序(在C#中),它将在kmplayer或winamp开始播放视频时开始,并且需要知道视频文件的路径,我该怎么做?如何在kmplayer和winamp中获得当前播放媒体的路径?

编辑:
经过一番搜索,编码和测试,现在我可以做到这一点使用sharpamp包装,所有的事情,而我打开我的媒体文件与Winamp的是确定,但与KMPlayer的文件名总是空的。 我用于获取文件名插件代码看起来是这样的:

public class ThePlugin : GeneralPlugin 
{ 
    public override void Initialize() 
    { 
     if (!string.IsNullOrEmpty(Winamp.CurrentSong.Filename)) 
     { 
      MessageBox.Show(Winamp.CurrentSong.Filename); 
     } 
     else 
     { 
      MessageBox.Show("File name is empty. "); 
     } 
    } 
} 

使用公里的结果是“文件名称为空”
Winamp的sharpamp的,有一个名为“UpdateSongData”的方法包含此行代码:

string filename = SendIPCCommandString(IPCCommand.GetFilename); 

这个代码是用于获取的播放媒体文件名,所以可能是IPC命令这两个玩家的“GetFilename”(这里是:3031)是不同的? 或者问题是另一回事?

回答

2

也许还有一个更简单的方法,但你可以尝试反复做这样的事情Winamp的(完全未经测试):

Process[] processes = Process.GetProcessesByName("winamp"); 
foreach (Process p in processes) 
{ 
    string winampTitle = p.MainWindowTitle; 

    // Check the title to see if it contains a video filename, and do 
    // something with it.. 
} 
+0

用这种方法,我的应用程序(或其他)需要一直开着,我不要那样。此外,我不希望公里或Winamp的标题。我想要播放视频的文件名! – VirtualWorld 2012-07-25 14:53:11

+1

窗口标题应包含当前播放文件的名称。 – Michael 2012-07-25 15:08:50

+0

这段代码给了我播放文件的名字。我想要播放媒体的文件地址! – VirtualWorld 2012-08-10 15:26:33

相关问题