public async Task <String> carpeta() { StorageFolder picturesFolder = KnownFolders.PicturesLibrary; StorageFolderQueryResult queryResult = picturesFolder.CreateFolderQuery(CommonFolderQuery.GroupByMonth); IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); StringBuilder outputText = new StringBuilder(); foreach (StorageFolder folder in folderList) { IReadOnlyList <StorageFile> fileList = await folder.GetFilesAsync(); // Print the month and number of files in this group. outputText.AppendLine(folder.Name + " (" + fileList.Count + ")"); foreach (StorageFile file in fileList) { // Print the name of the file. outputText.AppendLine(" " + file.Name); } } return(Convert.ToString(outputText)); }
public async void playMedia(string mediaType, string videoName) { mediaPlayerElement.Source = null; StorageFolder chosenFolder = null; if (mediaType == "video") { chosenFolder = KnownFolders.VideosLibrary; } else if (mediaType == "music") { chosenFolder = KnownFolders.MusicLibrary; } StorageFolderQueryResult queryResult = chosenFolder.CreateFolderQuery(Windows.Storage.Search.CommonFolderQuery.GroupByMonth); IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); foreach (StorageFolder folder in folderList) { IReadOnlyList <StorageFile> fileList = await folder.GetFilesAsync(); foreach (StorageFile file in fileList) { if (file.Name.StartsWith(videoName)) { this.mediaPlayerElement.MediaPlayer.Source = MediaSource.CreateFromStorageFile(file); this.mediaPlayerElement.MediaPlayer.Play(); } } } }
// 分组文件夹 private async void btnFolderGroup_Click(object sender, RoutedEventArgs e) { lblMsg.Text = ""; StorageFolder picturesFolder = await KnownFolders.GetFolderForUserAsync(null, KnownFolderId.PicturesLibrary); // 文件夹按月分组查询参数,其他多种分组方式请参见 CommonFolderQuery 枚举 CommonFolderQuery folderQuery = CommonFolderQuery.GroupByMonth; // 判断一下 picturesFolder 是否支持指定的查询参数 if (picturesFolder.IsCommonFolderQuerySupported(folderQuery)) { // 创建查询 StorageFolderQueryResult queryResult = picturesFolder.CreateFolderQuery(folderQuery); // 执行查询 IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); foreach (StorageFolder storageFolder in folderList) // 这里的 storageFolder 就是按月份分组后的月份文件夹(当然,物理上并没有月份文件夹) { IReadOnlyList <StorageFile> fileList = await storageFolder.GetFilesAsync(); lblMsg.Text += storageFolder.Name + " (" + fileList.Count + ")"; lblMsg.Text += Environment.NewLine; foreach (StorageFile file in fileList) // 月份文件夹内的文件 { lblMsg.Text += " " + file.Name; lblMsg.Text += Environment.NewLine; } } } }
private async void Button_Click3(object sender, RoutedEventArgs e) { StorageFolder picturesFolder = KnownFolders.PicturesLibrary; StorageFolderQueryResult queryResult = picturesFolder.CreateFolderQuery(CommonFolderQuery.GroupByMonth); IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); StringBuilder outputText = new StringBuilder(); foreach (StorageFolder folder in folderList) { IReadOnlyList <StorageFile> fileList = await folder.GetFilesAsync(); // Print the month and number of files in this group. outputText.AppendLine(folder.Name + " (" + fileList.Count + ")"); foreach (StorageFile file in fileList) { // Print the name of the file. outputText.AppendLine(" " + file.Name); } } MyText.Text = outputText.ToString() + "\nPath:==" + picturesFolder.Path; }
public async Task updatePhraseLists(string mediaType) { try { // Update the video phrase list, so that Cortana voice commands can use videos found in system. //Adapted from Miscrosoft docs: https://docs.microsoft.com/en-us/cortana/voicecommands/dynamically-modify-voice-command-definition-vcd-phrase-lists VoiceCommandDefinition commandDefinitions; StorageFolder videoFolder = null; switch (mediaType) { case "video": videoFolder = KnownFolders.VideosLibrary; break; case "music": videoFolder = KnownFolders.MusicLibrary; break; } if (VoiceCommandDefinitionManager.InstalledCommandDefinitions.TryGetValue("ProjectCommandSet_en-us", out commandDefinitions)) { StorageFolderQueryResult queryResult = videoFolder.CreateFolderQuery(Windows.Storage.Search.CommonFolderQuery.GroupByMonth); IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); List <string> namesList = new List <string>(); foreach (StorageFolder folder in folderList) { IReadOnlyList <StorageFile> fileList = await folder.GetFilesAsync(); foreach (StorageFile file in fileList) { namesList.Add(Path.GetFileNameWithoutExtension(file.Name)); } } //add video names to phraselist await commandDefinitions.SetPhraseListAsync(mediaType, namesList); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Error updating Phrase list for VCDs: " + ex.ToString()); } }
private async void ApplyFilter(object sender, RoutedEventArgs e) { if (canAddFilter == false) { return; } StorageFolder assetsFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets"); StorageFolderQueryResult results = assetsFolder.CreateFolderQuery(); IReadOnlyList <StorageFolder> folders = await results.GetFoldersAsync(); StorageFolder filterFolder = folders.Where(fol => fol.DisplayName == "Filters").First(); filters = await filterFolder.GetFilesAsync(); /*Debug.WriteLine("Displaying Folder"); * Debug.WriteLine(filterFolder.DisplayName); * * Debug.WriteLine("Displaying filter names"); * * foreach (StorageFile fil in filters) * { * Debug.WriteLine(fil.DisplayName); * }*/ Image filter = new Image(); filter.VerticalAlignment = VerticalAlignment.Center; filter.HorizontalAlignment = HorizontalAlignment.Center; BitmapImage bm = new BitmapImage(new Uri(filters[0].Path)); filter.Source = bm; Canvas.SetZIndex(filter, 1); this.renderTarget.Children.Add(filter); currentFilter = filter; filterCount++; canAddFilter = (filterCount == 5) ? !canAddFilter : canAddFilter; if (canAddFilter == false) { Debug.WriteLine("Cannot apply filter"); } }
async Task LoadImagesFromDisk(StorageFolder currentFolder) { if (currentFolder.Name == "Cloud") { return; } var subFolderQuery = currentFolder.CreateFolderQuery(); var folders = await subFolderQuery.GetFoldersAsync(); //Get the files out of the current folder await processImageFiles(currentFolder); //Find any sub folders foreach (var folder in folders) { await LoadImagesFromDisk(folder); } }
async public static void copyFolder(StorageFolder from, StorageFolder _to) { StorageFolder to = await _to.CreateFolderAsync(from.Name, CreationCollisionOption.OpenIfExists); IReadOnlyList <StorageFile> storageFiles = await from.GetFilesAsync(); foreach (var storageFile in storageFiles) { await storageFile.CopyAsync(to, storageFile.Name, NameCollisionOption.ReplaceExisting); } //IReadOnlyList<StorageFolder> storageFolders = await from.GetFoldersAsync(); var queryResult = from.CreateFolderQuery(); IReadOnlyList <StorageFolder> storageFolders = await queryResult.GetFoldersAsync(); foreach (var storageFolder in storageFolders) { copyFolder(storageFolder, to); } }
//按月分组,每个虚拟文件夹都表示一组具有相同月份的文件。 async public void selectfilesbymonth() { StorageFolder sf = KnownFolders.PicturesLibrary; StorageFolderQueryResult queryResult = sf.CreateFolderQuery(CommonFolderQuery.GroupByMonth); IReadOnlyList <StorageFolder> folderList = await queryResult.GetFoldersAsync(); StringBuilder stringBuilder = new StringBuilder(); foreach (StorageFolder folder in folderList) { IReadOnlyList <StorageFile> storageFiles = await folder.GetFilesAsync(); stringBuilder.AppendLine(folder.Name + "(" + storageFiles.Count + ")"); foreach (StorageFile file in storageFiles) { stringBuilder.AppendLine(" " + file.Name); } } outputtextblock3.Text = stringBuilder.ToString(); }
private async Task <int> GetNumInFolder(StorageFolder folder) { int total = 0; var foldersQuery = folder.CreateFolderQuery(); var listOfFolders = await foldersQuery.GetFoldersAsync(); total += listOfFolders.Count; // get the num of folders // find mp4, wma, avi vedios var filesQueryOptions = new Windows.Storage.Search.QueryOptions(); filesQueryOptions.FileTypeFilter.Add(".mp4"); filesQueryOptions.FileTypeFilter.Add(".wma"); filesQueryOptions.FileTypeFilter.Add(".avi"); var listOfVideos = await folder.CreateFileQueryWithOptions(filesQueryOptions).GetFilesAsync(); total += listOfVideos.Count; // get the num of videos return(total); }
public async void polulateListBox(string mediaType) { StorageFolder chosenFolder = null; if (mediaType == "videos") { chosenFolder = KnownFolders.VideosLibrary; } else if (mediaType == "music") { chosenFolder = KnownFolders.MusicLibrary; } StorageFolderQueryResult queryResult = chosenFolder.CreateFolderQuery(Windows.Storage.Search.CommonFolderQuery.GroupByAlbumArtist); IReadOnlyList <StorageFolder> tempFolderList = await queryResult.GetFoldersAsync(); //clear fileList before populating fileList.Clear(); mySpiltView.IsPaneOpen = true; foreach (StorageFolder folder in tempFolderList) { //create tempfileList for reading IReadOnlyList <StorageFile> tempFileList = await folder.GetFilesAsync(); foreach (StorageFile file in tempFileList) { //add to mediaListBox for displaying to user mediaListBox.Items.Add(Path.GetFileNameWithoutExtension(file.Name)); //add to fileList for playing after selection fileList.Add(file); } } }
private async void GetThumbnailButton_Click(object sender, RoutedEventArgs e) { rootPage.ResetOutput(ThumbnailImage, OutputTextBlock, OutputDetails); // Pick a folder FolderPicker folderPicker = new FolderPicker(); foreach (string extension in FileExtensions.Image) { folderPicker.FileTypeFilter.Add(extension); } StorageFolder folder = await folderPicker.PickSingleFolderAsync(); if (folder != null) { const CommonFolderQuery monthShape = CommonFolderQuery.GroupByMonth; // Verify queries are supported because they are not supported in all picked locations. if (folder.IsCommonFolderQuerySupported(monthShape)) { // Convert folder to file group and query for items IReadOnlyList <StorageFolder> months = await folder.CreateFolderQuery(monthShape).GetFoldersAsync(); if (months != null && months.Count > 0) { const ThumbnailMode thumbnailMode = ThumbnailMode.PicturesView; const uint size = 200; StorageFolder firstMonth = months[0]; using (StorageItemThumbnail thumbnail = await firstMonth.GetThumbnailAsync(thumbnailMode, size)) { if (thumbnail != null) { MainPage.DisplayResult(ThumbnailImage, OutputTextBlock, thumbnailMode.ToString(), size, firstMonth, thumbnail, true); // Also display the hierarchy of the file group to better visualize where the thumbnail comes from IReadOnlyList <StorageFile> files = await firstMonth.GetFilesAsync(); if (files != null) { StringBuilder output = new StringBuilder("\nList of files in this group:\n\n"); foreach (StorageFile file in files) { output.AppendFormat("{0}\n", file.Name); } OutputDetails.Text = output.ToString(); } } else { rootPage.NotifyUser(Errors.NoImages, NotifyType.StatusMessage); } } } else { rootPage.NotifyUser(Errors.FileGroupEmpty, NotifyType.StatusMessage); } } else { rootPage.NotifyUser(Errors.FileGroupLocation, NotifyType.StatusMessage); } } else { rootPage.NotifyUser(Errors.Cancel, NotifyType.StatusMessage); } }