Вчера я увидел очень красивый MP3 FLASH плеер по этому адресу: http://code.downcodes.com/down/86.html . Он действительно хорош. Но после отладки я обнаружил, что песни в нем слишком старые, или я не могу их слушать. Все MP3-ресурсы есть в Интернете, и иногда их невозможно прослушать — это нормально, но большинство из них не просты в использовании и на самом деле бесполезны. После тщательного анализа исходного кода выясняется, что он читает файлы 1.xml, 2.xml..4.xml в каталоге. Я часто слушаю музыку в Tomato Garden по адресу http://www.tomatolei.com , и мне интересно, могу ли я разместить здесь MP3-ресурсы Tomato? Разве это не функция того, кого все часто называют вором MP3? Просто сделай это!
1. Анализируем исходник песни Tomato Garden: PageUrl = " http://tomatolei.com/bbs/T_playlist.asx "
2. Целевой адрес: 1.xml
3. Конвертируем формат с помощью программы:
Frontdesk:
<; %@ Язык страницы ="c#" Codebehind="ReadAndWriteXml.aspx.cs" AutoEventWireup="false" Inherits="Чтение MP3 Tomato Garden.ReadAndWriteXml" validateRequest=false%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<ГОЛОВА>
<title>Читать список MP3 Tomato Garden</title>
<мета-контент="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<мета-контент="C#" name="CODE_LANGUAGE">
<мета-контент="JavaScript" name="vs_defaultClientScript">
<meta content=" http://schemas.microsoft.com/intellisense/ie5 " name="vs_targetSchema">
</ГОЛОВКА>
<body MS_POSITIONING="GridLayout">
<form id="Form1" метод="post" runat="server">
<FONT face="宋体">
<asp:TextBox id="TextBox1" style="Z-INDEX: 101; СЛЕВА: 56 пикселей; ПОЛОЖЕНИЕ: абсолютное; ВЕРХУ: 32 пикселя" runat="server"
Ширина="312 пикселей" Высота="240 пикселей" TextMode="MultiLine"></asp:TextBox>
<asp:Button id="Button1" style="Z-INDEX: 102; СЛЕВА: 160 пикселей; ПОЛОЖЕНИЕ: абсолютное; СВЕРХУ: 288 пикселей" runat="server"
Width="96px" Text="Коррекция~"></asp:Button></FONT></form>
</тело>
</HTML>
Серверная часть:
использование системы;
использование System.Collections;
использование System.ComponentModel;
использование System.Data;
использование System.Drawing;
использование System.Web;
использование System.Web.SessionState;
использование System.Web.UI;
использование System.Web.UI.WebControls;
использование System.Web.UI.HtmlControls;
использование System.IO;
использование System.Net;
использование System.Text;
использование System.Text.RegularExpressions;
пространство имен читает Tomato Garden MP3
{
/// <резюме>
/// Краткое описание WebForm1.
/// </сводка>
общедоступный класс ReadAndWriteXml: System.Web.UI.Page
{
защищенный System.Web.UI.WebControls.TextBox TextBox1;
защищенный System.Web.UI.WebControls.Button Button1;
частная строка PageUrl = "";
частная пустота Page_Load (отправитель объекта, System.EventArgs e)
{
//Поместите сюда пользовательский код для инициализации страницы if(!IsPostBack)
{
///Сначала прочитайте acx-файл Tomato Garden ( http://tomatolei.com/bbs/T_playlist.asx )
///
PageUrl = " http://tomatolei.com/bbs/T_playlist.asx ";
WebClient wc = новый WebClient();
wc.Credentials = CredentialCache.DefaultCredentials;
Байт [] pageData = wc.DownloadData(PageUrl);
строка Результат = Encoding.Default.GetString(pageData);
TextBox1.Текст=Результат
;
}
#region Код, сгенерированный веб-дизайнером форм, переопределяет protected void OnInit(EventArgs e)
{
//
// CODEGEN: этот вызов необходим разработчику веб-форм ASP.NET.
//
ИнициализироватьКомпонент();
base.OnInit(е);
}
/// <сводка>
/// Требуемый метод поддерживается дизайнером — не используйте редактор кода для изменения /// содержимого этого метода.
/// </сводка>
частная пустота InitializeComponent()
{
this.Button1.Click += новый System.EventHandler(this.Button1_Click);
this.Load += новый System.EventHandler(this.Page_Load);
}
#endregion
Private void Button1_Click(отправитель объекта, System.EventArgs e)
{
строка temp = TextBox1.Text;
TextBox1.Text="<musics firstRun="1">";
TextBox1.Text+=temp;
TextBox1.Text=TextBox1.Text.Replace("<Asx Version=3.0>","");
TextBox1.Text=TextBox1.Text.Replace("<Param Name="AllowShuffle" Value="yes"/> ","");
TextBox1.Text=TextBox1.Text.Replace("</Asx>","");
TextBox1.Text=TextBox1.Text.Replace("</Entry>","");
TextBox1.Text=TextBox1.Text.Replace("<Entry>","");
TextBox1.Text=TextBox1.Text.Replace("<Title>","<название музыки="");
TextBox1.Text=TextBox1.Text.Replace("</Title>",""");
TextBox1.Text=TextBox1.Text.Replace("<Ref href=","адрес=");
TextBox1.Text+="</musics>";
//TextBox1.Text=TextBox1.Text.Replace("r н","");
/// Приступим к созданию файла 1.xml ///
StreamWriter swFromFileStreamUTF8Buffer = новый StreamWriter(Server.MapPath("./")+"1.xml",false,System.Text.Encoding.UTF8,512);
swFromFileStreamUTF8Buffer.Write(TextBox1.Text);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
}
}