Esempio n. 1
0
        public async Task <TrackGetInfoResponse> TrackGetInfo(LfmUser user, LfmTrack track, CancellationToken cancellationToken)
        {
            var request = new TrackGetInfoRequest
            {
                mbid     = track.mbid,
                username = user.Username,
                track    = track.name,
                artist   = track.artist?.name,
                method   = PluginConst.Methods.Track.GetInfo
            };

            return(await Get <TrackGetInfoRequest, TrackGetInfoResponse>(request, cancellationToken));
        }
Esempio n. 2
0
        /// <summary>
        /// Загрузит обложку альбома.
        /// </summary>
        /// <param name="track">Трек.</param>
        /// <param name="mbid">Идентификатор трека (если имеется).</param>
        private async void LoadAlbumImage(IAudioTrack track, string mbid = null)
        {
            TrackImage = new BitmapImage(new Uri("ms-appx:///Assets/Logo.scale-240.png"));

            TrackGetInfoRequest request = String.IsNullOrWhiteSpace(mbid) ?
                                          new TrackGetInfoRequest(track.Title, track.Artist) :
                                          new TrackGetInfoRequest(mbid);

            var response = await request.ExecuteAsync();

            if (response.IsValid() && response.ErrorType == LFErrors.None &&
                response.Track.Album != null && track == CurrentTrack)
            {
                if (!String.IsNullOrEmpty(response.Track.Album.MaxImage.URL))
                {
                    TrackImage = new BitmapImage(new Uri(response.Track.Album.MaxImage.URL));
                }
            }
        }