Exemplo n.º 1
0
        void BackgroundMediaPlayer_MessageReceivedFromBackground(object sender, MediaPlayerDataReceivedEventArgs e)
        {
            TrackChangedMessage trackChangedMessage;

            if (MessageService.TryParseMessage(e.Data, out trackChangedMessage))
            {
                Logger.LogInfo(this, "Received TrackChangedMessage from Background");
                Debug.WriteLine("ShellViewModel.BackgroundMediaPlayer_MessageReceivedFromBackground: Received TrackChangedMessage from Background");
                var track = GetTrackFromStreamURL(trackChangedMessage.TrackId.ToString());
                if (track != null)
                {
                    TrackHistoryService.AddTrackHistory(new TrackHistoryToAdd()
                    {
                        UserID = App.User.id, TrackID = (int)track.id
                    });
                }
            }

            BackgroundAudioTaskStartedMessage backgroundAudioTaskStartedMessage;

            if (MessageService.TryParseMessage(e.Data, out backgroundAudioTaskStartedMessage))
            {
                backgroundAudioTaskStarted.Set();
                return;
            }

            PlaybackListEmptyMessage playbackListEmptyMessage;

            if (MessageService.TryParseMessage(e.Data, out playbackListEmptyMessage))
            {
                App.PlaylistManager.StopPlayer();
                return;
            }
        }
Exemplo n.º 2
0
        public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState)
        {
            try
            {
                HelloUserText = $"Hello, {App.User.username}";
                var recentlyPopularTracks =
                    (from th in TrackHistoryService.GetTracksHistory(App.User.id, 250)
                     group th by th.TrackID into g
                     select new { TrackID = g.Key, TrackCount = g.Count() }).Take(5);
                foreach (var track in recentlyPopularTracks)
                {
                    var t = await SoundCloudHelper.GetSoundCloudTrack(track.TrackID);

                    RecentlyPopularTracks.Add(t);
                }
                await Task.CompletedTask;
            }
            catch (Exception ex)
            {
                Logger.LogError(this, ex.Message);
                ShowErrorMessage("There was an error during fetching your recently popular tracks.");
            }
        }