2012-07-25 48 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

相關問題