Exemplo n.º 1
0
        //Método que lee una canción
        public Song cargaCancion(string parametros)
        {
            //Llamamos al método encargado de realizar la petición
            ApiSong.RootObject busquedaCancion = GetSong("https://api.musixmatch.com/ws/1.1/track.search" + parametros + APIKEY).Result;

            //Comprobamos que se haya encontrado alguna canción
            if (busquedaCancion.message.body.track_list.Count > 0)
            {
                string letra = "", genero = "";

                if (busquedaCancion.message.body.track_list[0].track.has_lyrics == 1)
                {
                    //Buscamos la letra para esta cancion
                    letra = cargaLetra(busquedaCancion.message.body.track_list[0].track.track_id);
                }

                //Obtenemos el género
                if (busquedaCancion.message.body.track_list[0].track.primary_genres.music_genre_list.Count > 0)
                {
                    genero = busquedaCancion.message.body.track_list[0].track.primary_genres.music_genre_list[0].music_genre.music_genre_name;
                }

                //Obtenemos el artista
                Author artista = cargaArtista(busquedaCancion.message.body.track_list[0].track.artist_name);


                //Calculamos el precio de la cancion
                double precio = ((double)busquedaCancion.message.body.track_list[0].track.track_rating * (double)artista.Rating) / 100;
                if (precio < 0)
                {
                    precio = precio * -1;
                }
                precio = precio / 12;
                precio = Math.Round(precio, 2);


                //Creamos la canción con los datos buscados
                Song cancion = new Song
                {
                    idSong = busquedaCancion.message.body.track_list[0].track.track_id,
                    Title  = busquedaCancion.message.body.track_list[0].track.track_name,
                    Disc   = busquedaCancion.message.body.track_list[0].track.album_name,
                    Genre  = genero,
                    Lyrics = letra.Replace("(1409619217113)", "").Replace("******* This Lyrics is NOT for Commercial use *******", ""),
                    Author = artista,
                    Price  = precio
                             //CALCULAR PRECIO
                };

                return(cancion);
            }

            else
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        /*static async Task RunAsync()
         * {
         *  cliente.BaseAddress = new Uri("https://api.musixmatch.com/ws/1.1/");
         *  cliente.DefaultRequestHeaders.Accept.Clear();
         *  //apikey /
         *  cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("apikey", "9e7110145522bfa2bf3eb372b19e0ac9");
         *
         *  //Indicamos el tipo de archivo devuelto
         *  cliente.DefaultRequestHeaders.Accept.Add(
         *      new MediaTypeWithQualityHeaderValue("application/json"));
         * }*/

        #region MetodosAPI
        //Método que realiza la petición para obtener una canción
        static async Task <ApiSong.RootObject> GetSong(string path)
        {
            //Lanzamos la petición
            string respuesta = await cliente.GetAsync(path).Result.Content.ReadAsStringAsync();

            //Deserializamos el JSON
            ApiSong.RootObject cancion = JsonSerializer.Deserialize <ApiSong.RootObject>(respuesta);

            return(cancion);
        }