0

我在 C# 中使用 WinForms for desktop 制作了一个应用程序。我添加了 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(播放列表文件夹中有 3 个文件,所以这是正确的)。

我也尝试播放播放列表的第一个元素,但reproductor.Ctlcontrols.playItem(reproductor.currentPlaylist.get_Item(1));没有任何反应。

我错过了什么?

4

1 回答 1

0

代码是对的。这是播放播放列表的正确方法。为什么以前没有工作?可能是某些驱动程序问题,可能是 Visual Studio,可能是某些未发布音频驱动程序的应用程序。我关闭了VS,重新启动了PC,并且运行良好。

于 2018-12-19T14:04:17.360 回答