Ayer vi un reproductor MP3 FLASH muy bonito en esta dirección: http://code.downcodes.com/down/86.html . Es realmente bonito. Pero después de la depuración, descubrí que las canciones que contenía eran demasiado antiguas o no podía escucharlas. Los recursos MP3 están todos en Internet, y es normal que a veces no puedas escucharlos, pero la mayoría de ellos no son fáciles de usar y realmente son de poca utilidad. Después de analizar cuidadosamente su código fuente, resulta que lee los archivos 1.xml, 2.xml...4.xml en el directorio. A menudo escucho música en Tomato Garden, que es http://www.tomatolei.com , y me preguntaba si podría poner los recursos MP3 de Tomato aquí. ¿No es ésta la función de lo que todo el mundo suele llamar un ladrón de MP3? ¡Hazlo!
1. Analice la fuente de la canción de Tomato Garden: PageUrl = " http://tomatolei.com/bbs/T_playlist.asx ";
2. Dirección de destino: 1.xml
3. Convierta el formato usando un programa:
Recepción:
< %@ Idioma de la página ="c#" Codebehind="ReadAndWriteXml.aspx.cs" AutoEventWireup="false" Inherits="Leer MP3.ReadAndWriteXml de Tomato Garden" validarRequest=false%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transicional//ES" >
<HTML>
<CABEZA>
<título>Leer lista MP3 de Tomato Garden</título>
<meta content="Microsoft Visual Studio .NET 7.1" nombre="GENERADOR">
<meta contenido="C#" nombre="CODE_LANGUAGE">
<meta content="JavaScript" nombre="vs_defaultClientScript">
<meta content=" http://schemas.microsoft.com/intellisense/ie5 " nombre="vs_targetSchema">
</CABEZA>
<cuerpo MS_POSITIONING="GridLayout">
<form id="Form1" método="post" runat="servidor">
<FONT face="宋体">
<asp:TextBox id="TextBox1" style="ÍNDICE Z: 101; IZQUIERDA: 56px; POSICIÓN: absoluta; ARRIBA: 32px" runat="servidor"
Ancho="312px" Alto="240px" TextMode="MultiLine"></asp:TextBox>
<asp:Botón id="Botón1" estilo="ÍNDICE Z: 102; IZQUIERDA: 160px; POSICIÓN: absoluta; ARRIBA: 288px" runat="servidor"
Ancho="96px" Texto="Corrección~"></asp:Botón></FONT></formulario>
</cuerpo>
</HTML>
Backend:
usando Sistema;
usando System.Collections;
usando System.ComponentModel;
usando System.Data;
usando System.Drawing;
usando System.Web;
usando System.Web.SessionState;
utilizando System.Web.UI;
usando System.Web.UI.WebControls;
usando System.Web.UI.HtmlControls;
usando System.IO;
utilizando System.Net;
usando System.Text;
usando System.Text.RegularExpressions;
el espacio de nombres lee Tomato Garden MP3
{
/// <resumen>
/// Descripción resumida de WebForm1.
/// </resumen>
clase pública ReadAndWriteXml: System.Web.UI.Page
{
protegido System.Web.UI.WebControls.TextBox TextBox1;
protegido System.Web.UI.WebControls.Button Button1;
cadena privada PageUrl = "";
Page_Load vacío privado (remitente del objeto, System.EventArgs e)
{
//Pon el código de usuario aquí para inicializar la página if(!IsPostBack)
{
/// Primero lea el archivo acx de Tomato Garden ( http://tomatolei.com/bbs/T_playlist.asx )
///
URL de página = " http://tomatolei.com/bbs/T_playlist.asx ";
WebClient wc = nuevo WebClient();
wc.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = wc.DownloadData(PageUrl);
Resultado de cadena = Codificación.Default.GetString(pageData);
TextBox1.Text=Resultado
;
}
#región Código generado por Web Form Designer anula protected void OnInit(EventArgs e)
{
//
// CODEGEN: esta llamada la requiere el diseñador de formularios web ASP.NET.
//
InicializarComponente();
base.OnInit(e);
}
/// <resumen>
/// El diseñador admite el método requerido; no utilice el editor de código para modificar /// el contenido de este método.
/// </resumen>
vacío privado InicializarComponente()
{
this.Button1.Click += nuevo System.EventHandler(this.Button1_Click);
this.Load += nuevo System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click (remitente del objeto, System.EventArgs e)
{
temperatura de cadena = TextBox1.Text;
TextBox1.Text="<músicas firstRun="1">";
TextBox1.Text+=temp;
TextBox1.Text=TextBox1.Text.Replace("<Asx Version=3.0>","");
TextBox1.Text=TextBox1.Text.Replace("<Nombre del parámetro="AllowShuffle" Valor="yes"/> ","");
TextBox1.Text=TextBox1.Text.Replace("</Asx>","");
TextBox1.Text=TextBox1.Text.Replace("</Entry>","");
TextBox1.Text=TextBox1.Text.Replace("<Entrada>","");
TextBox1.Text=TextBox1.Text.Replace("<Título>","<nombre de la música="");
TextBox1.Text=TextBox1.Text.Replace("</Título>",""");
TextBox1.Text=TextBox1.Text.Replace("<Ref href=","addres=");
TextBox1.Text+="</músicas>";
//TextBox1.Text=TextBox1.Text.Replace("r norte","");
/// Comencemos a generar el archivo 1.xml ///
StreamWriter swFromFileStreamUTF8Buffer=new StreamWriter(Server.MapPath("./")+"1.xml",false,System.Text.Encoding.UTF8,512);
swFromFileStreamUTF8Buffer.Write(TextBox1.Text);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
}
}