如何在kmplayer和winamp中获取当前播放媒体的路径?

时间:2012-07-25 14:11:32

标签: c# winamp

我想编写一个应用程序(在c#中),它将在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. ");
        }
    }
}

使用km的结果是“文件名为空。”
sharpamp Winamp 类中,有一个名为“UpdateSongData”的方法,其中包含以下代码行:

string filename = SendIPCCommandString(IPCCommand.GetFilename);

此代码用于获取播放媒体的文件名,因此可能是“GetFilename”的IPC命令(这里是:3031)在这两个播放器中彼此不同? 或问题是另一回事?

1 个答案:

答案 0 :(得分: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..
}