我想编写一个应用程序(在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)在这两个播放器中彼此不同? 或问题是另一回事?
答案 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..
}