1.- 2 Textbox(Nombre de Cancion,Nombre de Artista).
2.- 2 Etiquetas(Nombre de Cancion y Nombre de Artista).
3.- 1 Boton(Buscar).
4.- 1 Textbox Enriquecido(Letra de Cancion).
Lo Siguiente es agregar una referencia al Web Service de WikiLyrics. A continuacion les pongo la clase que se encarga de descargar la cancion: Codigo VB.NET
Private Function buscarLetra(ByVal nombreCancion As String, ByVal nombreArtista As String) As String Dim lw As LyricWiki = New LyricWiki Dim lr As LyricsResult = lw.getSong(nombreArtista, nombreCancion) Dim html As String = RetHTML(lr.url) If html <> "" And html IsNot Nothing Then 'Buscamos donde empieza letra de cancion Dim primerCoincid As Integer = html.IndexOf("</div> &#") 'Buscamos donde termina la cancion Dim segundaConcid As Integer = html.IndexOf("NewPP") 'Se Determina largo de la cancion Dim largo As Integer = segundaConcid - primerCoincid 'Leemos caracteres ASCII de la cancion Dim letraAscii As String = Mid((html), primerCoincid + 1, largo) 'Separamos la cancion por cierre de corchete Dim renglonAScii() As String = Split(letraAscii, ">") Dim arrCodigos As New ArrayList Dim cancion As String = "" 'Recorremos los renglones de la cancion For i = 0 To renglonAScii.Count - 1 'Separamos letra por letra del renglon Dim codigo() As String = Split(renglonAScii(i).ToString, ";") Try For j = 0 To codigo.Count - 2 'Eliminamos caracters de escape Dim cod As String = Trim(Replace(codigo(j), "&#", "")) 'Se convierte de ASCII a Texto cancion &= Chr(cod) Next cancion += vbCrLf Catch ex As Exception cancion &= "" End Try Next Return cancion Else Return "" End If End FunctionCodigo C#private string buscarLetra(string nombreCancion, string nombreArtista) { LyricWiki lw = new LyricWiki(); LyricsResult lr = lw.getSong(nombreArtista, nombreCancion); string html = RetHTML(lr.url); if (!string.IsNullOrEmpty(html) & html != null) { //Buscamos donde empieza letra de cancion int primerCoincid = html.IndexOf("</div> &#"); //Buscamos donde termina la cancion int segundaConcid = html.IndexOf("NewPP"); //Se Determina largo de la cancion int largo = segundaConcid - primerCoincid; //Leemos caracteres ASCII de la cancion string letraAscii = Strings.Mid((html), primerCoincid + 1, largo); //Separamos la cancion por cierre de corchete string[] renglonAScii = Strings.Split(letraAscii, ">"); ArrayList arrCodigos = new ArrayList(); string cancion = ""; //Recorremos los renglones de la cancion for (i = 0; i <= renglonAScii.Count - 1; i++) { //Separamos letra por letra del renglon string[] codigo = Strings.Split(renglonAScii[i].ToString(), ";"); try { for (j = 0; j <= codigo.Count - 2; j++) { //Eliminamos caracters de escape string cod = Strings.Trim(Strings.Replace(codigo[j], "&#", "")); //Se convierte de ASCII a Texto cancion += Strings.Chr(cod); } cancion += Constants.vbCrLf; } catch (Exception ex) { cancion += ""; } } return cancion; } else { return ""; } }Esta clase es la que nos devuelve la letra de la cancion en caso de existir, el funcionamiento es muy sencillo pones el nombre del artista y el nombre de la cancion que estas buscando, el boton buscar solamente llama al metodo de buscarCancion del webservice, si no encuentra la cancion nos devuelve vacio y eso se le pasa al textbox enriquecido. Les dejo el codigo de este modulo de busqueda de canciones. P.D. NO le digan a wikilyrics. wikiLyrics.rar (128 KB) https://mega.co.nz/#!hR4kRYBI!WhD5CiiW9ZZ3c6nIqoOFj3eO0cEIjYMhZLSufdV__CA Saludos.
Gracias por la información, estaba buscando algo de esto y me salio el post, pero no comprendo que es eso de ( Web Service de WikiLyrics) y para el colmo el enlace de mega que me imagino que era de un ejemplo ya se callo, así que me lo podrías explicar por favor?
ResponderEliminar