Example #1
0
 async Task RunNowPlayingTask()
 {
     await Task.Run(() =>
     {
         var mediaPlayer = DependencyService.Get <IMediaPlayer>();
         if (mediaPlayer != null)
         {
             NowPlayingData nowPlayingData = mediaPlayer.getNowPlaying();
             NowPlayingTitle       = nowPlayingData.Title;
             NowPlayingArtist      = nowPlayingData.Artist;
             NowPlayingTime        = ConvertTime(nowPlayingData.CurrentPlaybackTime);
             NowPlayingDuration    = ConvertTime(nowPlayingData.PlaybackDuration);
             decimal currentVolume = new decimal(nowPlayingData.Volume *MAX_VOLUME);
             updateVolume(currentVolume);
             ProgressPercent = Math.Floor(100 * (nowPlayingData.CurrentPlaybackTime / nowPlayingData.PlaybackDuration)).ToString();
         }
         ;
     });
 }
Example #2
0
        public void viewAppeared()
        {
            IsViewVisible = true;
            Device.StartTimer(TimeSpan.FromSeconds(1), () =>
            {
                var mediaPlayer = DependencyService.Get <IMediaPlayer>();
                if (mediaPlayer != null)
                {
                    NowPlayingData nowPlayingData = mediaPlayer.getNowPlaying();

                    NowPlayingTitle       = nowPlayingData.Title;
                    NowPlayingArtist      = nowPlayingData.Artist;
                    NowPlayingTime        = ConvertTime(nowPlayingData.CurrentPlaybackTime);
                    decimal currentVolume = new decimal(nowPlayingData.Volume * MAX_VOLUME);
                    updateVolume(currentVolume);
                    NowPlayingDuration = ConvertTime(nowPlayingData.PlaybackDuration);
                    ProgressPercent    = Math.Floor(100 * (nowPlayingData.CurrentPlaybackTime / nowPlayingData.PlaybackDuration)).ToString();

                    if (nowPlayingData.IsPlaying)
                    {
                        playButtonVisible = false;
                    }
                    else
                    {
                        playButtonVisible = true;
                    }

                    updateButtonsVisability();


                    if (nowPlayingData.ArtWork != null)
                    {
                        imageMemoryStream = nowPlayingData.ArtWork;
                        OnPropertyChanged("ArtworkImageStream");
                    }
                }
                ;
                Debug.WriteLine("Timer tick");
                return(IsViewVisible);
            });
        }