2012-12-28 50 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; 
} 

打多个项目:复制和粘贴,并享受

相关问题