当我使用Player.playlistCollection.newPlaylist("name")
它时,它会在默认播放列表目录 (C:\Users\username\Music\Playlists) 中创建一个 name.wpl 文件。当我重新启动应用程序并将其传递给播放器时,如何打开此文件?
问问题
873 次
3 回答
0
这是一个例子。在这里,我从应用程序文件夹中的“视频”文件夹获取文件并创建播放列表并循环播放
private void GetMediaFiles()
{
FilePath = Application.StartupPath + "\\Videos\\";
FileCount = Directory.GetFiles(FilePath).Length;
Files = Directory.GetFiles(FilePath);
playlist = axWMPlayer.playlistCollection.newPlaylist("PlaylistName");
for (int Count = 0; Count < FileCount; Count++)
{
media = axWMPlayer.newMedia(Files[Count]);
playlist.appendItem(media);
}
RunMedia();
}
private void RunMedia()
{
try
{
if (playlist.count > 0)
{
axWMPlayer.BringToFront();
axWMPlayer.currentPlaylist = playlist;
axWMPlayer.Ctlcontrols.play();
axWMPlayer.stretchToFit = true;
}
else
{
pbDefaultImage.BringToFront();
}
}
catch (Exception ex)
{
LogException(ex);
}
}
于 2017-07-20T08:30:59.037 回答
0
我通过创建自定义播放列表文件解决了这个问题,其中每一行都是媒体文件 url。因此,当应用程序启动时,它会逐行读取文件并将其添加到 wmp 播放列表中。
private WMPLib.IWMPPlaylist openPlaylist(string playlistName)
{
WMPLib.IWMPPlaylist tempPlaylist = Player.newPlaylist(playlistName, null);
using (System.IO.StreamReader sr = new System.IO.StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\playlists\\" + playlistName + ".cpt"))
{
while (sr.Peek() >= 0)
{
string tempMediaUrl = sr.ReadLine();
WMPLib.IWMPMedia tempMedia = Player.newMedia(tempMediaUrl);
tempPlaylist.appendItem(tempMedia);
}
return tempPlaylist;
}
}
于 2017-07-20T10:15:32.730 回答
-1
在您的应用程序目录中创建一些 .ini 设置文件。将播放列表的路径保存在其中。然后,当程序启动时,读取您的设置文件并获取播放列表的路径。
于 2017-07-20T08:22:28.360 回答