0

我刚刚发现了适用于 C# 的 Windows Media Player 库,因为我正在为我的朋友制作一个愚蠢的小应用程序,所以我想我会把它添加进去(因为他喜欢音乐)。

string ply = "Playlist";
        WMPLib.IWMPPlaylist pls;
        WMPLib.IWMPPlaylistArray plItems;

        plItems = axWindowsMediaPlayer1.playlistCollection.getByName(ply);

        if (plItems.count == 0)
        {
            pls = axWindowsMediaPlayer1.playlistCollection.newPlaylist(ply);
        }
        else
        {

            plItems.Item(0);

            string line;
            System.IO.StreamReader stream = new StreamReader(pth);
            while ((line = stream.ReadLine()) != null)
            {
                if (File.Exists(line))
                {
                    WMPLib.IWMPMedia m1 = axWindowsMediaPlayer1.newMedia(line);

                    pls.appendItem(m1); /*gives an error here (use of unassigned variable)*/
                }
            }
        }
    }

我已经尝试创建播放列表的一个实例,但我无法让它允许该行,任何帮助将不胜感激(请注意,“pth”字符串是在方法的前面声明的

4

1 回答 1

0

问题是如果plItems.count大于 0,则pls永远不会设置为任何内容,因此您无法调用appendItem它。

也许你想说

pls = plItems.Item(0);

代替

plItems.Item(0);

(不做任何事情)在您的else分支中。这将导致您的应用将媒体项目添加到库中的第一个播放列表。

于 2012-05-20T19:17:06.397 回答