Esempio n. 1
0
        public override async Task <WebAlbum> GetAlbumAsync(string albumToken)
        {
            var response = await _client.LookupAsync(albumToken, extras : ExtraDetails.Tracks);

            var xboxAlbum = response.Albums.Items.FirstOrDefault();

            if (response.Error == null)
            {
                return(CreateAlbum(xboxAlbum));
            }

            // Something happened, throw exception
            throw new ProviderException(response.Error.Message);
        }
Esempio n. 2
0
 /// <summary>
 /// Lookup an item and get details about it.
 /// </summary>
 /// <param name="client">An IXboxMusicClient instance.</param>
 /// <param name="itemId">Id to look up, prefixed by a namespace: {namespace.id}.</param>
 /// <param name="source">The content source: Catalog, Collection or both</param>
 /// <param name="language">ISO 2 letter code.</param>
 /// <param name="country">ISO 2 letter code.</param>
 /// <param name="extras">Enumeration of extra details.</param>
 /// <returns> Content response with details about one or more items.</returns>
 public static Task <ContentResponse> LookupAsync(this IXboxMusicClient client, string itemId, ContentSource?source = null, string language = null,
                                                  string country = null, ExtraDetails extras = ExtraDetails.None)
 {
     return(client.LookupAsync(new List <string> {
         itemId
     }, source, language, country, extras));
 }
Esempio n. 3
0
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.
        /// This parameter is typically used to configure the page.</param>
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            ContentResponse lookupResponse = await client.LookupAsync(e.Parameter.ToString(), extras : ExtraDetails.Tracks);

            // Display information about the album
            Album album = lookupResponse.Albums.Items[0];

            AlbumImage.Source = new BitmapImage(new Uri(album.GetImageUrl(800, 800)));

            Artist.Text = String.Join(",", album.Artists.Select(x => x.Artist.Name));
            TrackDetail.Items.Clear();

            foreach (Track track in album.Tracks.Items)
            {
                TrackDetail.Items.Add(string.Format("Track: {0} - {1}", track.TrackNumber, track.Name));
            }
        }
        public async Task TestGettingStarted()
        {
            // Start by registering an Azure Data Market client ID and secret ( see http://music.xbox.com/developer )

            // Create a client
            //IXboxMusicClient client = XboxMusicClientFactory.CreateXboxMusicClient("MyClientId", "YourClientSecretYourClientSecretYourSecret=");
            string           clientid     = ConfigurationManager.AppSettings["clientid"];
            string           clientsecret = ConfigurationManager.AppSettings["clientsecret"];
            IXboxMusicClient client       = XboxMusicClientFactory.CreateXboxMusicClient(clientid, clientsecret);

            // Use null to get your current geography.
            // Specify a 2 letter country code (such as "US" or "DE") to force a specific country.
            string country = null;

            // Search for albums in your current geography
            ContentResponse searchResponse = await client.SearchAsync(Namespace.music, "Foo Fighters", filter : SearchFilter.Albums, maxItems : 5, country : country);

            Console.WriteLine("Found {0} albums", searchResponse.Albums.TotalItemCount);
            foreach (Album albumResult in searchResponse.Albums.Items)
            {
                Console.WriteLine("{0}", albumResult.Name);
            }

            // List tracks in the first album
            Album           album          = searchResponse.Albums.Items[0];
            ContentResponse lookupResponse = await client.LookupAsync(album.Id, extras : ExtraDetails.Tracks, country : country);

            // Display information about the album
            album = lookupResponse.Albums.Items[0];
            Console.WriteLine("Album: {0} (link: {1}, image: {2})", album.Name, album.GetLink(ContentExtensions.LinkAction.Play), album.GetImageUrl(800, 800));
            foreach (Contributor contributor in album.Artists)
            {
                Artist artist = contributor.Artist;
                Console.WriteLine("Artist: {0} (link: {1}, image: {2})", artist.Name, artist.GetLink(), artist.GetImageUrl(1920, 1080));
            }
            foreach (Track track in album.Tracks.Items)
            {
                Console.WriteLine("Track: {0} - {1}", track.TrackNumber, track.Name);
            }
        }