将播放列表保存到所需位置

Save playlist to desired location

本文关键字:位置 播放列表 保存      更新时间:2023-09-26

问题很简单:

我有一个播放列表

var playlist = new Windows.Media.Playlists.Playlist();

我想将此播放列表保存到我选择的文件夹中(例如桌面或D:''New folder''Sub-folder)。问题是playlist.SaveAsAsync方法需要一个实现Windows.Storage.IStorageFolder的类,我不知道如何生成这样一个将所需路径作为根文件夹的类。

编辑使用文件夹选择器目前似乎可以完成这项工作,但有什么方法可以通过文件选择器获得存储文件夹吗?

我在C#中有解决方案,你可以很容易地在JS中转换它。您需要使用FolderPicker来选择保存播放列表的位置。您可以将播放列表保存为3种格式。

  • Windows Media(*.wpl)

  • Zune(*.zpl)

  • M3U(*.M3U)

请参阅下面给出的代码。

var playlist = new Playlist();
//audio1 to audio4 are the object of StorageFile class
playlist.Files.Add(audio1);
playlist.Files.Add(audio2);
playlist.Files.Add(audio3);
playlist.Files.Add(audio4);
/* Initialize folder picker. Music lib is suggested start location and I've added
storage file type filters. */
FolderPicker folderPicker = new FolderPicker();
folderPicker.SuggestedStartLocation = PickerLocationId.MusicLibrary;
folderPicker.FileTypeFilter.Add(".m3u");
folderPicker.FileTypeFilter.Add(".wpl");
folderPicker.FileTypeFilter.Add(".zpl");
StorageFolder folder = await folderPicker.PickSingleFolderAsync();
/* Playlist.SaveAsAsync takes four argument. First is destination folder, second is
 playlist name, 3rd is file collision option and 4th is playlist format */
var file = await playlist.SaveAsAsync(folder, "myplaylist", NameCollisionOption.GenerateUniqueName, PlaylistFormat.WindowsMedia);

Playlist.SaveAsAsync方法-MSDN

MSDN 上的FolderPicker类