Exemplo n.º 1
0
 public TrackDetails()
 {
     selectedTrack = StartPage.SelectedTrack;
     InitializeComponent();
     SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
         AppViewBackButtonVisibility.Visible;
     _startPage = Window.Current.Content as StartPage;
     if (_startPage == null) return;
     _streamPlayer = _startPage.MediaElement;
     if (selectedTrack == null || _streamPlayer == null) return;
     if (!selectedTrack.id.Equals(StartPage.CurrentTrack.id))
     {
         StartPage.CurrentTrack = selectedTrack.DeepcopyTrack();
         _streamPlayer.Source = new Uri(selectedTrack.stream_url);
         if (!_loaded)
         {
             CreateTimer();
             _loaded = true;
         }
         else
         {
             StartPage.AudioTimer?.Stop();
             CreateTimer();
         }
         _streamPlayer.Play();
         _startPage?.SetPlayButton(_play);
         TrackButtonPlayImage.Source = StartPage.ImageFromRelativePath(this, "Assets/pause27.png");
     }
     else
     {
         StartPage.AudioTimer?.Stop();
         CreateTimer();
     }
     _startPage.TrackInfo.Text = selectedTrack.title;
     BorderBrushDetails.ImageSource = new BitmapImage(new Uri(selectedTrack.background_url));
     TrackDetailsMain.DataContext = selectedTrack;
     ArtworkImage.Source = new BitmapImage(new Uri(selectedTrack.artwork_url));
     ArtistImage.Source = new BitmapImage(new Uri(selectedTrack.user.avatar_url));
     BitmapTransform(selectedTrack.waveform_url);
     _totalTime = selectedTrack.duration;
     AudioSlider.Maximum = _totalTime;
     AudioSlider.DataContext = _streamPlayer.Source;
     FollowArtist.Text = (selectedTrack.user.following ?  "follow" : "unfollow");
 }