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); }
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); }
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(); } } }
// Tracks Collection Manager public void AddTrack(MusicLibraryViewModel.TrackItem track) { TrackCollection.Add(track); }
public Task Add(MusicLibraryViewModel.TrackItem track) { var connection = new SQLiteAsyncConnection(_dbPath); return(connection.InsertAsync(track)); }