Пример #1
0
        public async override void Execute(object parameter)
        {
            MusicLibraryViewModel.TrackItem track = parameter as MusicLibraryViewModel.TrackItem;
            if (!Locator.MusicPlayerVM.TrackCollection.TrackCollection.Contains(track))
            {
                Locator.MusicPlayerVM.TrackCollection.ResetCollection();
                Locator.MusicPlayerVM.TrackCollection.AddTrack(track);
            }
            else
            {
                Locator.MusicPlayerVM.TrackCollection.CurrentTrack =
                    Locator.MusicPlayerVM.TrackCollection.TrackCollection.IndexOf(track);
            }
            await Locator.MusicPlayerVM.Play();

            var frame = App.ApplicationFrame;

#if NETFX_CORE
            var page = frame.Content as Views.MainPage;
            if (page != null)
            {
                var sB = page.Resources["FadeOutPage"] as Storyboard;
                if (sB != null)
                {
                    await sB.BeginAsync();

                    NavigationService.NavigateTo(typeof(PlayMusic));
                }
            }
#endif
        }
        public async static Task <MusicLibraryViewModel.TrackItem> GetTrackItemFromFile(StorageFile track)
        {
            var trackInfos = await track.Properties.GetMusicPropertiesAsync();

            var trackItem = new MusicLibraryViewModel.TrackItem
            {
                ArtistName = string.IsNullOrEmpty(trackInfos.Artist) ? "Unknown artist" : trackInfos.Artist,
                AlbumName  = trackInfos.Album,
                Name       = trackInfos.Title,
                Path       = track.Path,
                Duration   = trackInfos.Duration,
                Index      = 0
            };

            return(trackItem);
        }
Пример #3
0
        public void SetActiveMusicInfo(string token, MusicLibraryViewModel.TrackItem track)
        {
            _fileToken = token;
            _mrl       = "file://" + token;
            Title      = track.Name;
            Artist     = Locator.MusicLibraryVM.Artist.FirstOrDefault(x => x.Name == track.ArtistName);
            if (Artist != null)
            {
                Artist.CurrentAlbumIndex = _artist.Albums.IndexOf(_artist.Albums.FirstOrDefault(x => x.Name == track.AlbumName));
            }
            _mediaService.SetMediaFile(_mrl, isAudioMedia: true);
            OnPropertyChanged("TimeTotal");
#if NETFX_CORE
            UpdateTileHelper.UpdateMediumTileWithMusicInfo();
#endif
            _mediaService.Play();
        }
        public async static Task <MusicLibraryViewModel.TrackItem> GetTrackItemFromFile(StorageFile track, string artist, string name, int i, int artistId, int albumId)
        {
            var trackInfos = await track.Properties.GetMusicPropertiesAsync();

            var trackItem = new MusicLibraryViewModel.TrackItem
            {
                ArtistName = string.IsNullOrEmpty(artist) ? "Unknown artist" : artist,
                AlbumName  = name,
                Name       = trackInfos.Title,
                Path       = track.Path,
                Duration   = trackInfos.Duration,
                Index      = i,
                ArtistId   = artistId,
                AlbumId    = albumId
            };

            return(trackItem);
        }
Пример #5
0
        async Task ManageOpeningFiles(FileActivatedEventArgs args)
        {
            var         mediaServce = Container.Resolve <MediaService>();
            StorageFile file        = (StorageFile)args.Files[0];

            if (file.FileType == ".mp3" || file.FileType == ".wma")
            {
                if (Window.Current.Content == null)
                {
                    await LaunchTheApp();
                }

                Locator.MusicPlayerVM.TrackCollection.TrackCollection.Clear();
                MusicLibraryViewModel.TrackItem trackItem = await GetInformationsFromMusicFile.GetTrackItemFromFile(file);

                Locator.MusicPlayerVM.TrackCollection.TrackCollection.Add(trackItem);
                await Locator.MusicPlayerVM.PlayFromExplorer(file);
            }
            else if (file.FileType == ".mkv" ||
                     file.FileType == ".avi" ||
                     file.FileType == ".mp4" ||
                     file.FileType == ".wmv" ||
                     file.FileType == ".mov")
            {
                TemporaryFileName = file.Name;
                TemporaryMRL      = StorageApplicationPermissions.FutureAccessList.Add(file);
                if (Window.Current.Content == null)
                {
                    await LaunchTheApp();
                }
                else
                {
                    RootPage.MainFrame.Navigate(typeof(MainPage));
                    (ApplicationFrame.Content as MainPage).OpenVideoFromFileExplorer();
                }
            }
        }
Пример #6
0
 // Tracks Collection Manager
 public void AddTrack(MusicLibraryViewModel.TrackItem track)
 {
     TrackCollection.Add(track);
 }
Пример #7
0
        public Task Add(MusicLibraryViewModel.TrackItem track)
        {
            var connection = new SQLiteAsyncConnection(_dbPath);

            return(connection.InsertAsync(track));
        }