Javascript 将播放列表保存到所需位置
问题很简单: 我有一个播放列表Javascript 将播放列表保存到所需位置,javascript,windows-8,winjs,Javascript,Windows 8,Winjs,问题很简单: 我有一个播放列表 var playlist = new Windows.Media.Playlists.Playlist(); 我想将此播放列表保存到我选择的文件夹中(例如桌面或D:\New folder\Sub folder)。问题是播放列表。SaveAsAsync方法需要一个实现Windows.Storage.IStorageFolder的类,我不知道如何生成这样一个类,该类具有所需的根文件夹路径 编辑使用文件夹选取器现在似乎可以完成这项工作,但是有没有办法通过文件选取器获取
var playlist = new Windows.Media.Playlists.Playlist();
我想将此播放列表保存到我选择的文件夹中(例如桌面或D:\New folder\Sub folder)。问题是播放列表。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);
这是一个合法的解决办法,但我仍然希望用户能够正常保存播放列表(在文件选择器中选择格式和名称)。这不是解决办法
SaveAsAsync
仅提供可选择的文件夹,它应允许根据用户选择的名称和格式保存播放列表。您可以创建一个弹出式屏幕,允许用户选择目标文件夹,然后选择文本框中的文件名和播放列表类型的组合框。然后在按钮上单击“保存播放列表”,就像用户输入的一样。