多首歌曲連續(xù)播放之a(chǎn)sx播放列表文件
更新時(shí)間:2006年12月08日 00:00:00 作者:
經(jīng)常看到一些音樂(lè)站點(diǎn)有這樣的一個(gè)功能:任意選擇頁(yè)面中歌曲名稱前的復(fù)選框,單擊播放按鈕即可實(shí)現(xiàn)這多個(gè)被選擇歌曲的連續(xù)播放。
如果是單個(gè)音頻文件在文檔中播放,使用常用的方法即如這里介紹的第三種方法的類似方法。
但現(xiàn)在是多首歌曲,方法則不盡然~曾記得使用Winamp播放器時(shí)保存的列表文件m3u,現(xiàn)行的MediaPlayer播放器使用的wpl列表文件格式,當(dāng)然,這里我要使用的是asx播放列表文件
ASX文件是一個(gè)文本文件,他主要的目的是對(duì)流信息進(jìn)行重定向,類似RPM(RM的中轉(zhuǎn)文件)文件。
利用ASX文件來(lái)重定向流信息的原因主要是:目前通用的瀏覽器通常均不能直接支持用于播放流信息的協(xié)議MMS,所以我們采用ASX文件。
在ASX中包含了媒體內(nèi)容對(duì)應(yīng)的URL,當(dāng)我們?cè)贖TML中讓一個(gè)HYPERLINK與ASX聯(lián)系時(shí),瀏覽器會(huì)直接將ASX的內(nèi)容送給MEDIA PLAYER,MEDIA PLAYER 會(huì)根據(jù)ASX文件的信息用相應(yīng)的協(xié)議去打開(kāi)指定位置上的多媒體信息流或多媒體文件。
采用ASX文件以后,當(dāng)瀏覽器發(fā)現(xiàn)一個(gè)連接與ASX有關(guān)時(shí),它知道需要用MEDIA PLAYER 來(lái)播放流信息,于是它就會(huì)啟動(dòng)MEIDA PLAYER,MEDIA PLAYER就可以用MMS協(xié)議來(lái)播放流信息了。
一個(gè)標(biāo)準(zhǔn)的ASX文件格式如下:
<ASX Version = "3.0">
<Entry> <Ref href = "http://server/song1.asf" /> </Entry>
<Entry> <Ref href = "http://server/song2.asf" /> </Entry>
<Entry> <Ref href = "http://server/song3.asf" /> </Entry>
</ASX>
注意ASX文件本身并非媒體文件本身,而是媒體文件的列表,媒體文件的地址通過(guò) Entry節(jié)點(diǎn)的子節(jié)點(diǎn)Ref 的href屬性來(lái)表示。
當(dāng)然,還可以通過(guò)Entry節(jié)點(diǎn)內(nèi)定義更多子節(jié)點(diǎn)來(lái)豐富當(dāng)前媒體文件的信息,比如:
<ASX Version = "3.0">
<Entry>
<Ref href = "http://www.kmtv.com.cn/edit/uploadfile/200583195159842.MP3" />
<Title>Lonely (www.164.cc)</Title>
<Author>[Nana](www.164.cc)</Author>
<Copyright>屬于該歌唱片公司或歌手等權(quán)利人</Copyright>
</Entry>
<Entry>
<Ref href = "http://www.syzone.cn/mov/mymp3/yeyeye.mp3" />
<Title>yeyeye (www.164.cc)</Title>
<Author>[DJ](www.164.cc)</Author>
<Copyright>屬于該歌唱片公司或歌手權(quán)利人</Copyright>
</Entry>
</ASX>
其中<title></title>表示該媒體文件的標(biāo)題,<Author></Author>表示該媒體文件作者(即演唱該歌曲的藝術(shù)家),<Copyright></Copyright>表示該媒體文件的版權(quán)聲明。
其他更詳細(xì)內(nèi)容參看: http://support.microsoft.com/kb/247355/zh-cn
有了對(duì)ASX文件格式的認(rèn)識(shí),就可以自己來(lái)制作媒體播放列表文件,滿足多首歌曲連續(xù)播放的要求。
那么如何將ASX文件插入到頁(yè)面中進(jìn)行播放呢?通常的方法就是把a(bǔ)sx文件當(dāng)作普通的媒體文件插入到頁(yè)面中即可(如本文開(kāi)始說(shuō)提到的常用方法)
不過(guò)對(duì)于動(dòng)態(tài)的歌曲播放而言,每次選擇歌曲的不同則需要不同的列表文件,這很顯然是不適合的,所以必須動(dòng)態(tài)生成ASX的內(nèi)容。
因?yàn)锳SX的文件格式是固定的,所以可根據(jù)用戶所選擇歌曲的不同,查詢相關(guān)媒體文件路徑后,循環(huán)寫出ASX的文件內(nèi)容即可。So,在保持ASX文件格式不變的情況下,將asx文件后綴名可修改為.asp進(jìn)行引用
比如: http://www.164.cc/2006/testmusic/tt.asp
其中連接的媒體播放列表文件是: http://www.164.cc/2006/testmusic/tm.asp
雖然媒體列表文件是asp類型,但其內(nèi)容是asx的格式,這并不影響歌曲的播放。
另外,<% Response.ContentType="video/x-ms-asf" %>是ASP聲明當(dāng)前文件為asx文件的方法,但在tm.asp文件首行應(yīng)用時(shí),用戶打開(kāi)該文件鏈接,將自動(dòng)使用本地MediaPlayer調(diào)用播放。
測(cè)試:http://www.164.cc/2006/testmusic/tm1.asp
OK,有關(guān)靜態(tài)的內(nèi)容先說(shuō)到這,下一步就是通過(guò)數(shù)據(jù)庫(kù)抽取,動(dòng)態(tài)生成媒體列表文件tm.asp的內(nèi)容,待續(xù)。
如果是單個(gè)音頻文件在文檔中播放,使用常用的方法即如這里介紹的第三種方法的類似方法。
但現(xiàn)在是多首歌曲,方法則不盡然~曾記得使用Winamp播放器時(shí)保存的列表文件m3u,現(xiàn)行的MediaPlayer播放器使用的wpl列表文件格式,當(dāng)然,這里我要使用的是asx播放列表文件
ASX文件是一個(gè)文本文件,他主要的目的是對(duì)流信息進(jìn)行重定向,類似RPM(RM的中轉(zhuǎn)文件)文件。
利用ASX文件來(lái)重定向流信息的原因主要是:目前通用的瀏覽器通常均不能直接支持用于播放流信息的協(xié)議MMS,所以我們采用ASX文件。
在ASX中包含了媒體內(nèi)容對(duì)應(yīng)的URL,當(dāng)我們?cè)贖TML中讓一個(gè)HYPERLINK與ASX聯(lián)系時(shí),瀏覽器會(huì)直接將ASX的內(nèi)容送給MEDIA PLAYER,MEDIA PLAYER 會(huì)根據(jù)ASX文件的信息用相應(yīng)的協(xié)議去打開(kāi)指定位置上的多媒體信息流或多媒體文件。
采用ASX文件以后,當(dāng)瀏覽器發(fā)現(xiàn)一個(gè)連接與ASX有關(guān)時(shí),它知道需要用MEDIA PLAYER 來(lái)播放流信息,于是它就會(huì)啟動(dòng)MEIDA PLAYER,MEDIA PLAYER就可以用MMS協(xié)議來(lái)播放流信息了。
一個(gè)標(biāo)準(zhǔn)的ASX文件格式如下:
<ASX Version = "3.0">
<Entry> <Ref href = "http://server/song1.asf" /> </Entry>
<Entry> <Ref href = "http://server/song2.asf" /> </Entry>
<Entry> <Ref href = "http://server/song3.asf" /> </Entry>
</ASX>
注意ASX文件本身并非媒體文件本身,而是媒體文件的列表,媒體文件的地址通過(guò) Entry節(jié)點(diǎn)的子節(jié)點(diǎn)Ref 的href屬性來(lái)表示。
當(dāng)然,還可以通過(guò)Entry節(jié)點(diǎn)內(nèi)定義更多子節(jié)點(diǎn)來(lái)豐富當(dāng)前媒體文件的信息,比如:
<ASX Version = "3.0">
<Entry>
<Ref href = "http://www.kmtv.com.cn/edit/uploadfile/200583195159842.MP3" />
<Title>Lonely (www.164.cc)</Title>
<Author>[Nana](www.164.cc)</Author>
<Copyright>屬于該歌唱片公司或歌手等權(quán)利人</Copyright>
</Entry>
<Entry>
<Ref href = "http://www.syzone.cn/mov/mymp3/yeyeye.mp3" />
<Title>yeyeye (www.164.cc)</Title>
<Author>[DJ](www.164.cc)</Author>
<Copyright>屬于該歌唱片公司或歌手權(quán)利人</Copyright>
</Entry>
</ASX>
其中<title></title>表示該媒體文件的標(biāo)題,<Author></Author>表示該媒體文件作者(即演唱該歌曲的藝術(shù)家),<Copyright></Copyright>表示該媒體文件的版權(quán)聲明。
其他更詳細(xì)內(nèi)容參看: http://support.microsoft.com/kb/247355/zh-cn
有了對(duì)ASX文件格式的認(rèn)識(shí),就可以自己來(lái)制作媒體播放列表文件,滿足多首歌曲連續(xù)播放的要求。
那么如何將ASX文件插入到頁(yè)面中進(jìn)行播放呢?通常的方法就是把a(bǔ)sx文件當(dāng)作普通的媒體文件插入到頁(yè)面中即可(如本文開(kāi)始說(shuō)提到的常用方法)
不過(guò)對(duì)于動(dòng)態(tài)的歌曲播放而言,每次選擇歌曲的不同則需要不同的列表文件,這很顯然是不適合的,所以必須動(dòng)態(tài)生成ASX的內(nèi)容。
因?yàn)锳SX的文件格式是固定的,所以可根據(jù)用戶所選擇歌曲的不同,查詢相關(guān)媒體文件路徑后,循環(huán)寫出ASX的文件內(nèi)容即可。So,在保持ASX文件格式不變的情況下,將asx文件后綴名可修改為.asp進(jìn)行引用
比如: http://www.164.cc/2006/testmusic/tt.asp
其中連接的媒體播放列表文件是: http://www.164.cc/2006/testmusic/tm.asp
雖然媒體列表文件是asp類型,但其內(nèi)容是asx的格式,這并不影響歌曲的播放。
另外,<% Response.ContentType="video/x-ms-asf" %>是ASP聲明當(dāng)前文件為asx文件的方法,但在tm.asp文件首行應(yīng)用時(shí),用戶打開(kāi)該文件鏈接,將自動(dòng)使用本地MediaPlayer調(diào)用播放。
測(cè)試:http://www.164.cc/2006/testmusic/tm1.asp
OK,有關(guān)靜態(tài)的內(nèi)容先說(shuō)到這,下一步就是通過(guò)數(shù)據(jù)庫(kù)抽取,動(dòng)態(tài)生成媒體列表文件tm.asp的內(nèi)容,待續(xù)。
相關(guān)文章
javascript控制realplayer對(duì)象使用
javascript控制realplayer對(duì)象使用...2006-11-11asx 根據(jù)時(shí)間點(diǎn)播放音樂(lè)的實(shí)現(xiàn)代碼
asx 根據(jù)時(shí)間點(diǎn)播放音樂(lè)的實(shí)現(xiàn)代碼,對(duì)于需要控制音樂(lè)播放點(diǎn)的朋友可以參考下。2010-03-03關(guān)于網(wǎng)頁(yè)媒體播放器兼容性的問(wèn)題(附原碼) 下載
關(guān)于網(wǎng)頁(yè)媒體播放器兼容性的問(wèn)題(附原碼) 下載...2007-11-11網(wǎng)頁(yè)播放器 windowsmediaplay中控制從wmv的指定時(shí)間開(kāi)始播放,指定時(shí)間停止播放
windowsmediaplay中控制從wmv的指定時(shí)間開(kāi)始播放,指定時(shí)間停止播放2008-11-11