2012-12-28 39 views
5

我有一個OpenFileDialog控件,它具有Multiselect = true。現在我想將每個文件添加到Windows媒體播放器播放列表中,但我不知道如何做到這一點,因此互聯網上沒有很好的例子。如何將多個文件添加到播放列表

if (ofdSong.ShowDialog() == DialogResult.OK) 
{ 
    foreach (string file in ofdSong.FileNames) 
    { 
     //Code to add file to the playlist 
    } 
} 
+0

到目前爲止你有代碼,將打開一個對話框,現在你需要的是持有/加載所選文件(的方式小號)到歌曲播放列表列表例如..向winform添加一個按鈕,然後點擊按鈕單擊添加上面的代碼..您要加載的文件的分機是什麼..?你也想添加一個暫停按鈕和一個叫做Play ..的按鈕,所以也許你可以展示或者說明你想要實現的更多整體架構 – MethodMan

+0

這個網站可以是一個很好的網站,可以開始閱讀以及http: //msdn.microsoft.com/en-us/library/windows/desktop/dd564582%28v=vs.85%29.aspx – MethodMan

+0

這個網站將是一個很好的開始,事實上這可能是你的答案..如果不嘗試做谷歌搜索有大量的例子在那裏相信我..這就是我發現你這些例子http://stackoverflow.com/questions/694912/window-media-player-in-c-sharp – MethodMan

回答

12

隨着DJ KRAZE幫助,給我的例子鏈接和JayJay誰寫的例子,這裏是解決方案。

WMPLib.IWMPPlaylist playlist = wmp.playlistCollection.newPlaylist("myplaylist"); 
WMPLib.IWMPMedia media; 
if (ofdSong.ShowDialog() == DialogResult.OK) 
{ 
    foreach (string file in ofdSong.FileNames) 
    { 
     media = wmp.newMedia(file); 
     playlist.appendItem(media); 
    } 
} 
wmp.currentPlaylist = playlist; 
wmp.Ctlcontrols.play(); 
+0

不是一個問題很高興我們可以幫助 – MethodMan

+0

感謝它真的幫助,MS是愚蠢的命名函數和邏輯。 – Tommix

0
private void openToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    var myPlayList = axWindowsMediaPlayer1.playlistCollection.newPlaylist("MyPlayList"); 
    OpenFileDialog open = new OpenFileDialog(); 
    open.Multiselect =true; 
    open.Filter = "All Files|*.*"; 

    if(open.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
    { 
    foreach(string file in open.FileNames) 
     { 
     var mediaItem = axWindowsMediaPlayer1.newMedia(file); 
     myPlayList.appendItem(mediaItem); 
     } 
    } 

    axWindowsMediaPlayer1.currentPlaylist = myPlayList; 
} 

打多個項目:複製和粘貼,並享受

相關問題