---- 音樂服務器(Music Server)是指一個提供音樂在線服務的服務器,它包括高端提供門戶服務的網站、Web數據庫和低端的操作平臺、硬件設施。目前,在Internet和Intranet上有不少這樣的站點,特別是在一些高速寬帶的局域網中(如校園網),音樂服務器給上網的朋友提供了休閑娛樂的好去處,同時也給網站帶來了較高的訪問率。
----像其他站點一樣,音樂服務器包括網站和硬件兩個部分。硬件性能和服務器效率是成正比的,因而如何構建網站才是一個音樂服務器的關鍵。從目前來看,網站基本有兩種類型:一種是運行在Unix / Linux環境下,采用Perl / C / Php / Java 等作CGI編程語言;一種是運行在Win NT Server 平臺上,采用ASP / WinCGI 作后臺語言。前者運行效率高,但結構復雜,比較適合大型站點;后者編程難度相對較低,而且采用ODBC驅動接口,數據庫連接方便,特別適合作音樂服務器。
----一個基本的音樂服務器包括音樂在線欣賞、音樂排行榜、音樂主題檢索和音樂下載等四個部分。下面將主要從技術角度來討論如何實現以上功能。
音樂主題數據庫的規劃 ----音樂主題數據庫是Web站點存儲所需音樂資料的倉庫,它的規劃在很大程度上影響了整個網站的結構和效率。數據庫中可以單獨建成一張表單,也可以以主鍵和外鍵的形式建成多張表單。本例中為說明上的便利,建成如下單表框架: (music.mdb)
音樂在線欣賞 ----在線欣賞是指客戶端利用播放器播放服務器端的音樂文件。其原理是當客戶端向服務器提交音樂選單后,服務器生成相應的.m3u文件,并將該文件通過Http協議下行至客戶端;客戶端將被激發調用相應的播放器執行該文件,從而實現了音樂在線欣賞功能。目前支持.m3u文件的播放器有Winamp、Realplayer G2、 Musicmatch等。當這些播放器軟件被正確安裝在客戶端時,就可以自動播放.m3u文件。所以解決問題的關鍵在于后臺如何生成.m3u文件并下行到客戶端。以下利用ASP中內置的FileSystem組件給出一種解決方案,并給出相應程序。 <% dim choose,path,mydb,myset,SQL,fs,mp3 ‘##### 獲得list.htm表單中選中的歌曲項 對應的id號,并賦給字串變量choose ##### choose=“(" for i=3 to request.form.count choose=choose+request.form(i)+“," next choose=left(choose,len(choose)-1)+“)" ‘##### 判斷choose變量,如果不包含任何id號, 說明list.htm中沒有選中任何歌曲,終止程序##### if choose=“()" then response.redirect(“list.htm") response.end end if ‘#####設置文件路徑,需要把temp目錄的權限設為 對internet匿名用戶具有read & write 權限 ##### path=“E:\inetpub\wwwroot\temp\" ‘##### 創建文件對象 ##### Set fs = CreateObject(“Scripting.FileSystemObject") Set mp3 = fs.CreateTextFile(path+“listen.m3u", True) ‘##### 創建數據庫對象##### set mydb=server.createobject(“adodb.connection") mydb.open “music" ‘##### 檢索數據庫,獲得歌曲信息 ##### SQL=“select mp3name,url from "&dbname& “where id in "&choose set myset=tdb.execute(SQL) do while not myset.eof ‘##### 生成點播歌曲文件列表 ##### mp3.Write(“http://"+myset(“url")+chr(10)) myset.movenext loop ‘##### 更新數據庫中的當天點播次數和 總共點播次數 ##### SQL=“update music set click=click+1, this=this+1 where id in "&choose mydb.execute(SQL) ‘##### 取消對象 ##### set myset=nothing mydb.close set mydb=nothing mp3.close set mp3=nothing ‘##### 將該文件下載給用戶##### response.redirect(“listen.m3u") response.end %>
----注意:利用這種方法時,要控制.m3u文件Http頭的內容。在Winnt中可利用IIS設置.m3u文件類型的Mine內容。具體操作如下:啟動IIS —> 選中音樂服務器所在的Web站點 —> 點擊“屬性” 按鈕 —> 在出現的屬性選項卡中點擊“Http標題”卡 —> 點擊“文件類型”按鈕 —> 點擊“新增類型”按鈕 —> 在“相應的擴展名”中填入“.m3u”,在“內容類型”中填入“audio/mpegurl” —> 然后一路確定即可。
音樂排行榜 ----音樂排行榜是音樂服務器不可缺少的一項內容,其重要性不亞于一個站點的Pageview。它可以向歌迷即時提供信息、引導欣賞、動態地反映潮流趨勢。
|