日期:2014-04-01  浏览次数:21103 次

WMP 与 Real 既有各自公用的歌词表现方式,又有两者都通用的歌词表现方式。WMP 公用的歌词表现方式是通过 *.SMI 文件实现的,Real 公用的歌词表现方式是通过 *.RT 文件实现的,两者通用的歌词表现方式为 *.LRC 文件。

    SMI 歌词文件

    请点播放键观看效果(有个缓冲过程,大家要等待片刻)。SMI 文件有专门的制造软件,非常方便,方法后面详谈。可实现歌词的单行、多行及卡拉OK等特殊效果。SMI 歌词实际是利用 WMP 的 Closed Caption 属性实现的。

    代码如下:

    <OBJECT ID="aboutplayer" CLASSID="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" height=150 width=200><param name="UIMode" value="none"></OBJECT>
    <table height=100 width=200 border=3 bordercolor=blue>
        <tr align=center>
            <td bgcolor=white><font color=olive size=2>SMI 演示</font></td>
        </tr>
        <tr height=75>
            <td bgcolor="green"><div id=CapText></div></td>
        </tr>
    </table>
    <table width=200>
        <tr>
            <td align=center><INPUT TYPE="BUTTON" VALUE="Play" ></td>
            <td align=center><INPUT TYPE="BUTTON" VALUE="Stop" ></td>
        </tr>
    </table>
<SCRIPT>
function Play()
{
aboutplayer.closedCaption.CaptioningID = "CapText";
aboutplayer.closedCaption.SAMIFileName = "http://lrc.aboutplayer.com/goodbye.smi";
aboutplayer.URL = "http://www.shijiren.net/wma/g00146001/g0014600101.wma";
aboutplayer.controls.play();
}
function Stop()
{
aboutplayer.controls.stop();
}
</SCRIPT>

    问题的关键就是下面三句:

aboutplayer.closedCaption.CaptioningID = "CapText"; 

// 网页上显示歌词的位置 ID

aboutplayer.closedCaption.SAMIFileName = http://lrc.aboutplayer.com/goodbye.smi; 

// SMI 歌词文件地址

aboutplayer.URL = http://www.shijiren.net/wma/g00146001/g0014600101.wma; 

// 媒体文件地址

    放在 aboutplayer.controls.play(); 的前面。其中 SMI 文件地址最好用绝对地址(随媒体文件地址是绝对、绝对而变化)。若媒体文件与 SMI 文件同名同路径,则 SMI 文件地址可省略不写。

    上面只是单曲歌词播放的实例,关于 SMI 歌词连续播放的经典版本请参阅谱乐制造的 BBSVisual For SMI

    RT 歌词文件

    请点播放键观看效果。RT 歌词文件既可逐行同步,也可逐字同步,下面就是逐字同步的演示。


    代码如下:

<window bgcolor="black" duration="225" width="142" height="95">
<center>
<font charset="gb2312" color="red">
<strong>
<b>
<time begin=00:00:00/><font size="2">泪的小雨</font>
<font size="1">
<p>演唱:邓丽君
<p><font color="green">(谱乐视听)</font>
<p><font color="red">倾情制造
<time begin=00:23.15/><clear/>分<time begin=00:23.55/>不<time begin=00:23.90/>出<time begin=00:24.30/>是<time begin=00:24.80/>泪<time begin=00:25.40/>是<time begin=00:26.10/>雨
<time begin=00:28.80/><p>泪<time begin=00:29.15/>和<time begin=00:29.50/>雨<time begin=00:29.90/>忆<time begin=00:30.36/>起<time begin=00:30.95/>了<time begin=00:31.70/>你
<time begin=00:34.55/><p>忆<time begin=00:34.85/>起<time begin=00:35.40/>你<time begin=00:36.10/>雨<time begin=00:36.40/>中<time begin=00:36.90/>分<time begin=00:37.45/>离
<time begin=00:38.70/><p>泪<time begin=00:39.70/>珠<time begin=00:40.00/>儿<time begin=00:41.30/>洒<time begin=00:42.05/>满<time begin=00:43.00/>地
<time begin=00:45.25/><clear/>哭<time begin=00:45.70/>泣<time begin=00:46.60/