昨天裝了Flash MX 2004 Pro,看了下介紹,確實增加了不少新的特性,加了 不少數據組件,後來感覺ASP.NET開發web服務這麼簡單,於是突發奇想:我何不 用c#和flash做一個播放器呀。下面介紹一下簡單的原理。
用c#寫一個web服務,把一個指定目錄的.mp3文件都羅列出來(主要用 System.IO裡的一些成員),並添加到一個ArrayList裡面,最後把這個 ArrayList以Web服務的形式向外發布出去。然後用Flash MX 2004新建一個Flash 文檔,用WebServiceConnector組件獲取剛剛發布的Web服務,然後把返回的結果 綁定到Flash的List組件上,最後呢,在List組件上加一個行為,讓它雙擊的時 候播放雙擊的mp3文件。
一、開發web服務
具體代碼如下,很簡單,不再多說,web服務開發我們都很熟悉了,別說這麼 簡單的一個例子了。這裡是在站點根目錄下新建一個mp3文件夾,然後往裡面放 一些MP3文件,最後可以預覽測試這個web服務,預覽的地址具體跟你建立的虛擬 目錄路徑有關,我的如下。
http://onlytiancai/bak/flashmp3/mp3services.asmx
<%@ Webservice Language="C#" class="mp3Service" %>
using System;
using System.Collections;
using System.Web.Services;
using System.IO;
public class mp3Service : System.Web.Services.WebService
{
public mp3Service()
{
}
[WebMethod]
public ArrayList GetMp3()
{
ArrayList mp3List =new ArrayList();
string mp3path = Server.MapPath("mp3");
try
{
DirectoryInfo di = new DirectoryInfo(mp3path);
FileInfo[] fi = di.GetFiles();
foreach (FileInfo fiTemp in fi)
{
if(fiTemp.Extension.ToLower() == ".mp3"||fiTemp.Extension.ToLower() == ".wma")
{
mp3List.Add(fiTemp.Name);
}
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
return mp3List;
}
}