我用桌面的WinForms用C#做了一个应用程序。我添加了WMP库。如果我想播放一个文件(视频或音频),我只需要做reproductor.URL = filePath,它会自动播放(它是复制器,在表单中添加的WMP )。现在我想播放一个播放列表,所以我这样做了:
curPlaylist = reproductor.playlistCollection.newPlaylist("curPlaylist");
string[] filesArray = Directory.GetFiles(@"C:\playlist", "*.mp3");
foreach (string file in filesArray)
{
WMPLib.IWMPMedia media = reproductor.newMedia(file);
curPlaylist.appendItem(media);
}
reproductor.currentPlaylist = curPlaylist; 没有任何反应,它不会播放任何文件。
我尝试了reproductor.Ctlcontrols.play();,但仍然没有结果。如果我计算播放列表中的元素,结果是3( playlist文件夹中有3个文件,所以这是正确的)。
我还尝试播放播放列表reproductor.Ctlcontrols.playItem(reproductor.currentPlaylist.get_Item(1));的第一个元素,但同样没有任何反应。
我遗漏了什么?
发布于 2018-12-19 22:04:17
代码是正确的。这是播放列表的正确方式。为什么之前不能工作?可能是一些驱动程序的问题,可能是Visual Studio,也可能是一些应用程序没有发布音频驱动程序。我关闭了VS,重新启动了PC,并且工作得很完美。
https://stackoverflow.com/questions/53840850
复制相似问题