public async Task GetMedia() { try { IReadOnlyList <StorageFile> files = await GetMediaFromFolder(_location, CommonFileQuery.OrderByName); if (files.Count > 0) { await DispatchHelper.InvokeAsync(() => HasNoMedia = false); } else { await DispatchHelper.InvokeAsync(() => HasNoMedia = true); } int j = 0; foreach (StorageFile storageFile in files) { var mediaVM = new MediaViewModel(storageFile); await mediaVM.Initialize(); // Get back to UI thread await DispatchHelper.InvokeAsync(() => { Media.Add(mediaVM); int i = new Random().Next(0, files.Count - 1); if (j < 5 && i <= (files.Count - 1) / 2) { MediaRandom.Add(mediaVM); j++; } MediaGroupedByAlphabet = Media.OrderBy(x => x.AlphaKey).GroupBy(x => x.AlphaKey); ExecuteSemanticZoom(); }); } } catch { } }
public async Task GetMedia() { try { IReadOnlyList<StorageFile> files = await GetMediaFromFolder(_location, CommonFileQuery.OrderByName); if (files.Count > 0) { await DispatchHelper.InvokeAsync(() => HasNoMedia = false); } else { await DispatchHelper.InvokeAsync(() => HasNoMedia = true); } int j = 0; foreach (StorageFile storageFile in files) { var mediaVM = new MediaViewModel(storageFile); await mediaVM.Initialize(); // Get back to UI thread await DispatchHelper.InvokeAsync(() => { Media.Add(mediaVM); int i = new Random().Next(0, files.Count - 1); if (j < 5 && i <= (files.Count - 1) / 2) { MediaRandom.Add(mediaVM); j++; } MediaGroupedByAlphabet = Media.OrderBy(x => x.AlphaKey).GroupBy(x => x.AlphaKey); ExecuteSemanticZoom(); }); } } catch { } }
public async void Execute(object parameter) { //lock (Locker) //{ // _canExecute = false; // CanExecuteChanged(this, new EventArgs()); //} var picker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.VideosLibrary }; //TODO: add more supported types picker.FileTypeFilter.Add(".3g2" ); picker.FileTypeFilter.Add(".3gp" ); picker.FileTypeFilter.Add(".3gp2"); picker.FileTypeFilter.Add(".3gpp"); picker.FileTypeFilter.Add(".amv" ); picker.FileTypeFilter.Add(".asf" ); picker.FileTypeFilter.Add(".avi" ); picker.FileTypeFilter.Add(".divx"); picker.FileTypeFilter.Add(".drc" ); picker.FileTypeFilter.Add(".dv" ); picker.FileTypeFilter.Add(".f4v" ); picker.FileTypeFilter.Add(".flv" ); picker.FileTypeFilter.Add(".gvi" ); picker.FileTypeFilter.Add(".gxf" ); picker.FileTypeFilter.Add(".ismv"); picker.FileTypeFilter.Add(".iso" ); picker.FileTypeFilter.Add(".m1v" ); picker.FileTypeFilter.Add(".m2v" ); picker.FileTypeFilter.Add(".m2t" ); picker.FileTypeFilter.Add(".m2ts"); picker.FileTypeFilter.Add(".m3u8"); picker.FileTypeFilter.Add(".mkv" ); picker.FileTypeFilter.Add(".mov" ); picker.FileTypeFilter.Add(".mp2" ); picker.FileTypeFilter.Add(".mp2v"); picker.FileTypeFilter.Add(".mp4" ); picker.FileTypeFilter.Add(".mp4v"); picker.FileTypeFilter.Add(".mpe" ); picker.FileTypeFilter.Add(".mpeg"); picker.FileTypeFilter.Add(".mpeg1"); picker.FileTypeFilter.Add(".mpeg2"); picker.FileTypeFilter.Add(".mpeg4"); picker.FileTypeFilter.Add(".mpg" ); picker.FileTypeFilter.Add(".mpv2"); picker.FileTypeFilter.Add(".mts" ); picker.FileTypeFilter.Add(".mtv" ); picker.FileTypeFilter.Add(".mxf" ); picker.FileTypeFilter.Add(".mxg" ); picker.FileTypeFilter.Add(".nsv" ); picker.FileTypeFilter.Add(".nut" ); picker.FileTypeFilter.Add(".nuv" ); picker.FileTypeFilter.Add(".ogm" ); picker.FileTypeFilter.Add(".ogv" ); picker.FileTypeFilter.Add(".ogx" ); picker.FileTypeFilter.Add(".ps" ); picker.FileTypeFilter.Add(".rec" ); picker.FileTypeFilter.Add(".rm" ); picker.FileTypeFilter.Add(".rmvb"); picker.FileTypeFilter.Add(".tod" ); picker.FileTypeFilter.Add(".ts" ); picker.FileTypeFilter.Add(".tts" ); picker.FileTypeFilter.Add(".vob" ); picker.FileTypeFilter.Add(".vro" ); picker.FileTypeFilter.Add(".webm"); picker.FileTypeFilter.Add(".wm"); picker.FileTypeFilter.Add(".wmv" ); picker.FileTypeFilter.Add(".wtv" ); picker.FileTypeFilter.Add(".xesc"); StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { var history = App.Container.Resolve<HistoryService>(); string token = await history.Add(file); Debug.WriteLine("Opening file: " + file.Path); Locator.PlayVideoVM.SetActiveVideoInfo(token, file.Name); var video = new MediaViewModel(file); await video.Initialize(); Locator.PlayVideoVM.CurrentVideo = video; #if NETFX_CORE NavigationService.NavigateTo(typeof(PlayVideo)); #endif } else { Debug.WriteLine("Cancelled"); } //lock (Locker) //{ // _canExecute = true; // CanExecuteChanged(this, new EventArgs()); //} }