人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

運(yùn)用Helix Server的SMIL支持在ASP中生成媒體流的播放下文

運(yùn)用Helix Server的SMIL支持在ASP中生成媒體流的播放下文

更新時(shí)間:2022-07-01 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

開(kāi)發(fā)視頻點(diǎn)播網(wǎng)站時(shí)或許會(huì)需要連續(xù)播放一系列流媒體文件,我的經(jīng)驗(yàn)是可以使用SMIL語(yǔ)言動(dòng)態(tài)生成需要的播放列表文件。以下將對(duì)這種方法作出說(shuō)明。我感覺(jué)這并不是一個(gè)很好的方法,但可作為一種思路供大家參考。

首先我們應(yīng)該了解一下SMIL語(yǔ)言的結(jié)構(gòu)。SMIL是專用于流媒體服務(wù)器的一種語(yǔ)言,它是符合XML語(yǔ)言規(guī)范的。以下是一個(gè)典型的用于Helix Server的SMIL文件:

113.smi
--------------
<smil>
<head>
<meta name="title" content="連續(xù)播放"/>
<meta name="author" content="C.C在線視聽(tīng)娛樂(lè)網(wǎng) - C.C.M.C."/>
<meta name="copyright" content="網(wǎng)站所有資源版權(quán)歸其原作者所有,請(qǐng)于下載試用后24小時(shí)內(nèi)刪除"/>
</head>
<body>
<par>
<ref src="rtsp://192.168.0.100/D/200485627_24.mp3" title="Whos Who"/>
</par>
<par>
<ref src="rtsp://192.168.0.100/D/200485624_22.mp3" title="Two-Lane Blacktop"/>
</par>
<par>
<ref src="rtsp://192.168.0.100/D/200485618_20.mp3" title="The Wonders of You"/>
</par>
</body>
</smil>

<head>內(nèi)的title是指顯示在RealPlayer播放機(jī)播放列表最上部的標(biāo)題。author是作者,copyright是版本信息,這些信息可以在點(diǎn)擊RealPlayer跑馬燈字幕的時(shí)候看到。<par>內(nèi)的<ref>中,scr指的是流媒體文件的位置,title是指此媒體顯示在播放列表中的名稱。每個(gè)<par>定義一個(gè)文件,這樣就實(shí)現(xiàn)媒體流的連續(xù)播放。使用這種辦法還能很方便的向網(wǎng)站中的媒體文件添加廣告或自定義片頭片尾。知道文件結(jié)構(gòu)剩下的就好辦了。不過(guò)注意生成smi文件之前先對(duì)字符進(jìn)行過(guò)濾,因?yàn)閄ML中有些字符是不能隨意出現(xiàn)的。

代碼例:

其中有幾個(gè)自定義函數(shù)不多作介紹(GetExtName為獲取文件擴(kuò)展名)

xRMExtNames="rm,ram,rmvb,mp3,mpeg,mpa"
rmPlayList="smil/a.smi"

Sub WritePlayListRM
dim strTmpSrc,sql
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile(server.MapPath(rmPlayList) , True)
tf.WriteLine("<smil>")
tf.WriteLine("<head>")
tf.WriteLine("<meta name=" & chr(34) & "title" & chr(34) & " content=" & chr(34) & XMLFilter(strQuery) & chr(34) & "/>")
tf.WriteLine("<meta name=" & chr(34) & "author" & chr(34) & " content=" & chr(34) & XMLFilter(xSiteName) & chr(34) & "/>")
tf.WriteLine("<meta name=" & chr(34) & "copyright" & chr(34) & " content=" & chr(34) & XMLFilter(xCopyRight) & chr(34) & "/>")
tf.WriteLine("</head>")
tf.WriteLine("<body>")
set rsServer=Server.CreateObject("ADODB.Recordset")
do while not rs.eof
if instr(xRMExtNames,lcase(GetExtName(rs("fileName"))))>0 then
sql="select * from site_servers where UID=" & rs("serverID")
rsServer.open sql,conn,1,1
strTmpSrc=rsServer("RMServer") & rs("fileName")
tf.WriteLine("<par>")
tf.WriteLine("<ref src=" & chr(34) & strTmpSrc & chr(34) & " title=" & chr(34) & XMLFilter(rs("title")) & chr(34) & "/>")
tf.WriteLine("</par>")
rsServer.close
rmNum=rmNum+1
end if
rs.movenext
loop
rs.movefirst
tf.WriteLine("</body>")
tf.WriteLine("</smil>")
tf.Close
set tr=nothing
set rsServer=nothing
End Sub

Function XMLFilter(strInput)
XMLFilter=replace(strInput,"<","(")
XMLFilter=replace(XMLFilter,">",")")
XMLFilter=replace(XMLFilter,chr(34),"")
XMLFilter=replace(XMLFilter,"'","")
End Function

這就是我的方法,歡迎大家批評(píng)指正。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 石家庄市| 上犹县| 昆山市| 娱乐| 平定县| 亚东县| 阳原县| 布尔津县| 文昌市| 亳州市| 永春县| 资阳市| 安徽省| 娱乐| 建始县| 临沭县| 清水河县| 嵊泗县| 赫章县| 常山县| 理塘县| 裕民县| 宿松县| 尉氏县| 布尔津县| 昌图县| 绍兴县| 唐河县| 祁阳县| 宜良县| 徐闻县| 富阳市| 新沂市| 唐河县| 临海市| 喀喇| 宜阳县| 荃湾区| 什邡市| 通辽市| 延边|