Ejemplo n.º 1
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 3
0
        // 分组文件夹
        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;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        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());
            }
        }
Ejemplo n.º 6
0
        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");
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        //按月分组,每个虚拟文件夹都表示一组具有相同月份的文件。
        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);
                }
            }
        }
Ejemplo n.º 12
0
        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);
            }
        }