0

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

编辑:
经过一些搜索、编码和测试,现在我可以使用sharpamp wrapper来做到这一点,当我用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”(这里是:3031)的IPC命令可能彼此不同?还是问题是另一回事?

4

1 回答 1

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..
}
于 2012-07-25T14:39:23.353 回答