Inheritance: ThumbnailViewModel
Example #1
0
        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
            {
            }
        }
Example #2
0
        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
            {
               
            }
        }
Example #3
0
        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());
            //}
        }