当前位置:首页>>软件教程>>新闻内容  
多媒体文件播放列表解读
作者:icech 发布时间:2003-12-2 17:18:56 | 【字体:

  这是icech很早写的一篇文章,今天突然在网上找到了,收录到西部e网。

    多媒体文件播放列表为了方便用户多文件播放或者转换链接等而制定的一些文本格式文件,例如WINAMP的M3U和PLS,WindowsMedia的ASX和WAX,REAL的RAM等等,制作这些格式的列表文件一般利用播放相应格式的播放器就可以,但是有时候我们想改动其中一些信息,但有不知道他们的属性和规则该如何操作呢?下面我们就来看看这些列表文件格式的定义。
    列表都是文本格式,主要的目的是对媒体信息进行定向,连续播放并显示出媒体的名称、版权、文件来源等信息。
    1、WINAMP的M3U
    后缀名:.m3u
    喜欢MP3的朋友对这个文件一定很熟悉了,看看下面文件:
    test1.m3u:
    #EXTM3U
    #EXTINF:257,任贤齐 - 我是一只鱼
    \icech\mp3\我是一只鱼.mp3
    #EXTINF:-1,i love you forever.wma
    i_love_you_forever.wma
    #EXTINF:260,06 JUST TO MAKE MY LOVE CO
    C:\1-罗大佑-恋曲2000\07 暗恋.mp3
    C:\1-罗大佑-恋曲2000\08 原乡.mp3
    #EXTINF:296,tokyo.mid
    D:\mid\tokyo.mid
    可以看出#EXTM#U显示m3u文件标记,#EXTINF显示播放时间、title和artist等信息。但是一般的m3u列表不需要那些信息文件,我们只要把要播放的文件一行一行罗列下来就可以了,如以下样式:
    \icech\mp3\我是一只鱼.mp3
    C:\1-罗大佑-恋曲2000\07 暗恋.mp3
    D:\mid\tokyo.mid
    打开“记事本”在文件中写入以上几行,注意路径是m3u文件的相对路径。这样当你打开m3u文件的时候,就会调出相应与之关联的媒体播放软件顺序播放了。

    2、WINAMP的PLS(playlist)
    后缀名:.pls
    PLS文件与M3U文件大同小异,只是标记的规则略有不同,如以下tese2.pls文件内容:
    [playlist]
    File1=valen102.mp3
    Title1=许茹云 - 看透
    Length1=285
    File3=C:\music\lauching03.mp3
    Title3=skyyo.com--刘沁 - 亮点
    Length3=263
    File4=no1.mp3
    File5=coco9701.mp3
    NumberOfEntries=5
    Version=2
    PLS的文件标记是[playlist],当打开pls文件是,播放器会自动寻找此段以确定文件格式,所以pls文件一定要写上这样的字段。
    File[N]后的路径也是相对路径,[N]表示文件的次序,Length[N]记录了文件播放时间,NumberOfEntries表示文件的个数(此语句也可以放在[playlist]后),Version表示版本。注意:PLS文件要求的格式比较严格,最基本的属性(标记[playlist]、File[N]、NumberOfEntries和Version)一定要写上。
   
    3、WindowsMedia的ASX(Advanced Stream Redirector)和WAX
    后缀名:.asx和.wax
    ASX文件是一个文本文件,他主要的目的是对流信息进行重定向,类似RPM(RM的中转文件)文件。
  在ASX中包含了媒体内容对应的URL,当我们在网页中让一个超链接与ASX联系时,浏览器会直接将ASX的内容送给Media Player,Media Player 会根据ASX文件的信息用相应的协议去打开指定位置上的多媒体信息流或多媒体文件。
  利用ASX文件来重定向流信息的原因主要是:目前通用的浏览器通常均不能直接支持用于播放流信息的协议MMS(Microsoft 的Media Server protocol),所以我们采用ASX文件。采用ASX文件以后,当浏览器发现一个连接与ASX有关时,它知道需要用Media Player 来播放流信息,于是它就会启动Media Player,Media Player就可以用MMS协议来播放流信息了。
    下面给出一个ASX文件的例子:
    testasx01.asx:
    <ASX version="3.0">
    <Title>ASX测试</Title>
    <Entry>
    <Title>后街男孩组合music02</Title>
    <Copyright>icech的WMA音乐</Copyright>
    <Ref href = "mms://www.nease.net/~icech/music/01.wma" />
    <MoreInfo href = "http://www.icech.com" />
    </Entry>
    </ASX>
    第一行是版本号,第二行是标题,在<entry></entry>之间的部分说明Media Player应用MMS协议去播放网络计算www.nease.net/~icech上music路径下的01.wma文件。
    ASX文件可以有自己的TITLE,AUTHOR,COPYRIGHT之类的信息,它的<entry></entry>可以有多个,表示有多个流要播放,这被成为播放列表,每个<entry></entry>之间还有属于每个流的相关信息包括TITLE,AUTHOR,COPYRIGHT和MoreInfo等。下面的例子中就有两个节目要播放,它们各自还有自己的信息。
    testasx02.asx:
    <ASX VERSION="3.0">
    <TITLE>ASX测试播放两个文件</TITLE>
    <AUTHOR>西部电子之icech</AUTHOR>
    <COPYRIGHT>(c) 2000,Weste.net</COPYRIGHT>

    <ENTRY>
    <TITLE>后街男孩1</TITLE>
    <AUTHOR>icech</AUTHOR>
    <COPYRIGHT>(c) 2000,Weste.net</COPYRIGHT>
    <REF HREF="mms://www.nease.net/~icech/music/01.wma" />
    <MoreInfo href = "http://www.icech.com" />
    </ENTRY>

    <ENTRY>
    <TITLE>后街男孩组合2</TITLE>
    <AUTHOR>未知</AUTHOR>
    <COPYRIGHT>(c) 2000,icech.com</COPYRIGHT>
    <REF HREF="mms://www.nease.net/~icech/music/02.wma" />
    <MoreInfo href = "http://www.icech.com" />
    </ENTRY>
    </ASX>
    ASX的格式有点像smil语言,它的标记必须是对应的关系,例如<ASX></ASX>,如果没有相应的结束标记必须用一个反斜线来结束:<REF HREF="mms://www.nease.net/~icech/music/02.wma" />。
    当然,ASX不但可以用来作为声音文件的播放列表,对于影音文件ASF也是一样的,其实WMA就是ASF的音频文件。一般用ASX作为ASF的播放列表文件,用WAX作为WMA的播放列表文件,并且ASX和WAX之间的转化也很方便,可以直接通过.asx 文件改为 .wax 扩展名来创建 .wax 文件。
    
    4、REAL的RAM
    后缀名:.ram和.rpm
    在real的强势推进下,大家对ram都有一定的了解了,网上的在线音频、视频点播大都用的势这种格式的文件,点击超链接调用realplayer播放文件。同ASX的原理差不多,RAM文件也是用来作为转化协议的中介文件,因为rm或者ra文件需要使用rtsp或者pnm协议,但是浏览器一般只支持HTTP和FTP协议,所以就需要RAM文件提供一个协议信息。
    RAM文件也是文本格式的。列表很简单:
    testram.ram:
    pnm://www.nease.net/~icech/encoder/live01.ra
    pnm://weste.at.china.com/music/live02.ra
    pnm://modernet.2699.com/ra/live03.ra
    RAM文件中的.ra文件可以在不同的服务器里,在播放的时候可以把三段文件组合成一个播放。或者这样写:
    rtsp://www.nease.net/~icech/yuquan_04.rm
    而制作RAM文件就和一般的超链接一样<a href="http://www.nease.net/~icech/music.ram">在线收听</a>。如果您需要下载rm影音文件,你先下载链接它的ram文件,然后用“记事本”打开,把其中的pnm或者rtsp改成http(其他的媒体文件下载也是一样的只需要把各自的协议改成http),然后用netants拖就成了。
   
    怎么样,您大概对这些常见的播放列表有了一定的了解了吧,您也可以自己制作一个在线点播的网站了,试试吧,很容易的。


文章来源:西部e网原创
·用Java多媒体框架实现自播放
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我