网页编辑器

关注公众号 jb51net

关闭
首页 > 网络编程 > 网页编辑器 > asx

ASX文件 终极教程

作者:

整理资料的时候,发现电脑里保存了一些ASX文件。这些文件原来是玩MSN空间时用到的,主要用于在MSN空间上安装播放器。很久没玩MSN空间了,虽然现在也还在用MSN,但MSN空间的速度真的是慢得让我难以接受,所以还是不用MSN空间。顺便分析一下ASX文件的格式,以方便那些还在用MSN空间的朋友。
    其实ASX文件的作用不仅限于制作MSN空间的播放索引文件,还可以制作本地播放列表文件,网站的音乐索引文件,很多网络电台的电台列表就只是一个ASX文件,里面记录了不同电台的网络地址。

    ASX文件是微软流媒体格式的索引文件,正常的ASX是以文本形式来记录ASF或者WMV等多媒体文件的地址和方式的多媒体索引文件,它主要的目的是对流信息进行重定向,类似RPM(RM的中转文件)文件。有时候下载下来的电影扩展名是ASX,这是由于某些原因改成的这种扩展名,其实用媒体播放器播放的时候看文件属性就知道用的是微软的哪种编码器编码的,所以只要支持ASF文件转换的工具都支持ASX文件的转换。

    在ASX文件中包含了媒体内容对应的URL,当我们在HTML中让一个HyperLink与ASX联系时,浏览器会直接将ASX的内容送给Media Player,Media Player会根据ASX文件的信息用相应的协议去打开指定位置上的多媒体信息流或多媒体文件。

    利用ASX文件来重定向流信息的原因主要是:

    目前通用的浏览器通常均不能直接支持用于播放流信息的协议MMS,所以我们采用ASX文件。采用ASX文件以后,当浏览器发现一个连接与ASX有关时,它知道需要用Media Player来播放流信息,于是它就会启动Media Player,Media Player就可以用MMS协议来播放流信息了。 

    更详细的教程说明请浏览微软的网站:
    http://www.microsoft.com/china/t ... eploy/strmedia.mspx

    熟悉HTML的朋友会发现,ASX文件与HTML非常相似。它们所使用的标记在一定程度上与 HTML 的标记是非常相似的,而且有些标签甚至完全相同。下面是一个ASX文件的例子: 

<asx version="3.0">
<entry>
    <title>My Love</title>
    <author>西城男孩</author>
    <copyright>AnyShine</copyright>
    <ref href="https://www.jb51.net/song/mylove.asf">
</entry>
</asx>

注解:

<asx version="3.0">,asx标记声明此文件是asx文件;version="3.0",此文件所使用的标记命令版本是3.0。
<entry>,entry(条目),每首歌曲的信息都要包含在一对<entry>标记里面。
<title>,歌曲标题。
<author>歌手名字
<ref href="#">,#代表歌曲路径,可以是网络地址(如:https://www.jb51.net/song/mylove.asf),也可以是电脑本地文件路径(如:C:/My Documents/My Music/mylove.asf),不过,如果是电脑的本地路径的话,就只能在自己的电脑上使用;歌曲格式可以是:wma,asf,mp3等。

注意:
    除了<ref href="#">外,其它的标记都要成对,即后面的<>里必须加上斜杠,否则ASX文件就不起作用了。

ASX文件的制作

一、打开记事本:
    “程序”-“附件”-“记事本”

二、在新记事本里输入内容:

<asx version="3.0">
<entry>
    <title>My Love</title>
    <author>西城男孩</author>
    <copyright>AnyShine</copyright>
    <ref href="https://www.jb51.net/song/mylove.asf">
</entry>
</asx>

注意:
    <asx>、<entry>、<ref href="#">这两个是必须属性;
    <title>、<author>、<copyright>标记是非必须属性。上面的内容也可以写成以下的省略格式:


<asx version="3.0">
<entry>
<ref href="歌曲地址1">
</entry>
<entry>
<ref href="歌曲地址2">
</entry>
<entry>
<ref href="歌曲地址3">
</entry>
</asx>

三、保存记事本文件
    “另存为”记事本文件,把后缀名“txt”改成“asx”点“保存”即可。刚刚保存好的文件变成一个音乐文件图标,然后用Media Player播放器打开就可以播放音乐文件了。

Media Player播放ASX文件

启动Media Player播放器,打开保存的好的ASX文件,即可播放己经添加好的音乐。

网页引用ASX文件

    先把编辑好的ASX文件上存到网页空间上,然后在网页里通添加引用ASX文件的代码,例如:

    <a hrer="https://www.jb51.net/yourfile.asx">我的歌曲</a> 

    用浏览器将打开这个编辑好的网页文件,当点击“我的歌曲”链接后,电脑会自动启动 Windows Media Player来按顺序播放其中的歌曲。

给你补充一下
点开连接打开一个播放器,就感觉太不专业了~不如直接点连接,在本页播放
把下面保存为html文件就可以了~


<object 
      classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" 
      type="application/x-oleobject" id="wmp" width="0" height="0" 
      style="width:400px;height:300px;">
</object>
<a herf="#" onclick="wmp.URL='http://www.anyshine.com/yourfile.asx'">播放音乐</a>


      //基本属性  
      wmp.URL:String; //指定媒体位置,本机或网络地址 
      wmp.uiMode:String; //播放器界面模式,可为Full, Mini, None, Invisible 
      wmp.playState:integer; //播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 
      wmp.enableContextMenu:Boolean; //启用/禁用右键菜单 
      wmp.fullScreen:boolean; //是否全屏显示 
      //播放器常用控制 
      wmp.controls.play; //播放 
      wmp.controls.pause; //暂停 
      wmp.controls.stop; //停止 
      wmp.controls.currentPosition:double; //当前进度 
      wmp.controls.currentPositionString:string; //当前进度,字符串格式。如“00:23” 
      wmp.controls.fastForward; //快进 
      wmp.controls.fastReverse; //快退 
      wmp.controls.next; //下一曲 
      wmp.controls.previous; //上一曲 
      //播放器常用设置 
      wmp.settings.volume:integer; //音量,0-100 
      wmp.settings.autoStart:Boolean; //是否自动播放 
      wmp.settings.mute:Boolean; //是否静音 
      wmp.settings.playCount:integer; //播放次数 
      wmp.settings.balance = -100; //(左声)
      wmp.settings.balance=100; //(右声)
      wmp.settings.balance=0; //(全声)
      //常用当前媒体属性 
      wmp.currentMedia.duration:double; //媒体总长度 
      wmp.currentMedia.durationString:string; //媒体总长度,字符串格式。如“03:24” 
      wmp.currentMedia.getItemInfo(const string); //获取当前媒体信息
      //"Title"=媒体标题  "Author"=艺术家  "Copyright"=版权信息
      //"Description"=媒体内容描述  "Duration"=持续时间(秒)
      //"FileSize"=文件大小  "FileType"=文件类型  "sourceURL"=原始地址
      wmp.currentMedia.setItemInfo(const string); //通过属性名设置媒体信息 
      wmp.currentMedia.name:string; //同currentMedia.getItemInfo("Title") 
      wmp.network.bufferingProgress; //缓冲百分比
      wmp.network.downloadProgress; //下载百分比
转载http://www.anyshine.com/blog/v/anyshine/archives/2008/293.asp
阅读全文