将你的音乐放进网页

为了在你的网页中使用Microsoft Music Producer制作的音乐作品，你需要用HTML标志引用声音文件。与之相关的标志最常用的是带LOOP和SRC属性的<BGSOUND>标记，这种标记只在Microsoft Interner Explorer中有效。

<BGSOUND>标记标明了与背景音乐相关的信息。首先第一个属性SRC，告诉浏览器所引用的声音文件的位置。第二个属性LOOP，指明了当你的网页下载之后声音文件的播放次数（也叫做重复）。如果你想让音乐反复播放的话，只需将LOOP属性设置成INFINITE。

这里是一个怎样在HTML 文档里使用<BGSOURD>标记的例子：

<BGSOUND SRC=C:\MUSIC\Caribe.mid LOOP=1>

这个标记指明浏览器音乐源文件是C:\MUSIC\Caribe.mid并且你只要让它播放一次。

如果你想要当前页显示的时候这段音乐一直在播放的话，使下这一行HTML代码：

<BGSOUND SRC=C:MUSIC\Caribe.mid LOOP=INFINITE>

试一试这两个例子看看它们是怎样工作的，你总是可以从实践中掌握正确的设置。通过改变LOOP属性的大小使得音乐能够播放的是够长。

技巧

如果你有一个带有“Laser blast”效果的声音文件，你可以简单地通过改变LOOP值来造成多重Laser blast效果。

另外一种在网页中播放你的音乐文件的途径是利用标准的热链接方式，这可能是将音乐置于网页中比较容易的方法之一。例如：这种方式的HTML代码应该现象这样：

<A HREF=Laserblast.mid> Laser Blast</A>

这时浏览器应该简单地显示一个热链接象这样：Laser Blast

如果引用正确，单击此链接将激活此声音文件。如果没有声音，检查一下HTML代码的语法和拼写，如果仍不能正常工作，确认在你使用的计算机上安装有一块声卡，并且音量设置被打开而不静音。

我发现在引用时文件名不需要用双引号来引用，但是一些浏览器不能需要，如果你使用象Sallys Voice.wav这样的长文件名，双引号可能需要。但是我建议，将其转换成MS—DOS短文件名以确保文件当需要时能正常播放。用短文件名一般工作起来不会出错：Sallys Voice.wav 的MS—DOS的短文件名应该是Sallys~1.wav，除非在这个路径下有与其前六个字母相同的其它文件（这时，这个文件名应该是Sallys~2.wav）。

注意

MS—DOS的短文件名格式在正常情况下应该是文件名的前六个字母，紧跟一个（~）符号，然后是一个序列数用来表明与这前六个字线匹配的所有文件中这个文件的顺序数。如果在当前相同路径下已经存在同新文件有相同前六个字母的文件时，新文件将被分配一个当前已存在此类文件总数之后的一个顺序号。

如果你有多个这样的文件并且你想确认文件的MS—DOS短文件名，在Windows 95中右击文件在弹出菜单中选择Property菜单项，此时显示属性框(如图27.5所示)。

图27.15 一个音乐文件的property属性框

在对话框中，可以看到MS—DOS名称设置（大约在对话框中的第四行下面），这里显示的就是为你的文件名设置的MS—DOS短文件名。

使用热链接代替<BGSOUND>标记的优点就在于热链接是HTML的标准格式，在绝大多数浏览器都适用。另一个优点是声音文件可以根据需要而播放，当用户想听时候才播放。而在页面第一次下载时并不自动播放，这可以节省用户的时间和耐心，尤其是他或她不喜欢音乐——或者就是讨厌你的音乐。

它的一些缺点包括，在播放音乐之前用户必须进行一些操作，也许你需要当用户第一次打开页面需要使用<BGSOUND>标记，如果你没有使用Internet Exploer的话你可以使用<META>标记:

<META HTTP-EQUIV=“REFRESH” CONTENT=“http://mysite/Laserblast.mid”>

这个<META>例子将浏览器重定向到列出的声音文件。不幸的是，它将你持续定向播放声音文件，这将导致略微的页面闪烁——当页面上有许多文本时会很烦人，这对小尺寸字体的文本影响尤为明显。

找出使用何种HTML标记能够最大限度的满足你的特殊需要的最佳途径是实践，在你的网页中尝试各种方法看看哪种方式能够获得最佳效果而不降低你的页面特性。

另一种更复杂的添加声音的方法是使用Microsoft的<EMBED>标记，虽然这个标记有许多选项，你只需使用其中的一些就可以完成工作。要想粗略地了解一下<EMBED>标记的属性见表27.1。

注意

记住这些标记是特有，只是在Microsoft的浏览器中才能使用。

表27.1 EMBED标记属性

属性 | 描述
ACCESSKEY=string | 为一个元素确定一个加速键（加速键是当按住Alt链同时按的键，从而激话所嵌入的对象）。
ALIGN=setting | 确定对象元素的对齐方式（只有当嵌入对象是可见时才有用。只有当你使用嵌入一个ActiveX控件来播放音乐时才需要这个属性）。可选的设置有ABSBOTTOM，ABSMIDDLE，BASELINE，BOTTOM，LEFT，MIDDLE，RIGHT，TEXTTOP，或TOP。
HEIGHT=String | 同WIDTH一起，确定元素的尺寸大小（同ALIGN属性一样，只有当嵌入对象可见时才适用）。
HIDDEN=string | 强迫对象是否可见。
ID=string | 一个SGML标识符，用于作为热链接的目标或者标明与相关文挡有关的特定的参数。
SRC=string | 确认相关文件的URL(这个属性很重要——它是你的文件的路径和文件名)。
STYLE=string | 确定这个标记的内在风格类型（只有对象可见时才起作用，而且对声音无效）。
TITLE=string | 提供提示信息。如果你的浏览器被设置成忽略图形，例如这个内嵌对象是一个图形，那么它将会被一个文本条代替，而无论你是否设置了此属性。
WIDTH=string | 确定了对象的显示宽度，在HTML里此属性可以以象素值或百分比来设置。
Event=script | 在下面段落中将作介绍。

虽然<EMBED>标记使你可以在文档中嵌入任何类型的对象，但你和用户都需要一个应用服务器对象来激活驻于你们机器上的数据。

注意

一个应用服务器对象可以是一个MIDI播放器，或MIDI out-of-process服务器，不用担心，如果你安装了声卡驱动程序，它们可能就有了。

因为<EMBED>标记支持激活技术，它支持特定的事件。当用户对一个控件进行一个操作时一个事件将发生，下面的列表显示了这个标记可以触发的事件。

OnAfterUpdate OnKeyUp

OnBeforeUpdate OnLoad

OnBlur OnMouseDown

OnClick OnMouseMove

OnDblClick OnMouseOut

OnFocus OnMouseOver

OnHelp OnMouseUp

OnKeyDown OnReadyStateChange

OnKeyPress

这此事件大多数能够自我解释，例如OnClick事件当用户按动一个对象时发生等等。

<EMBED>是一个块标记，这意味着它需要有结束符。虽然<EMBED>是必须的，但是结束标记</EMBED>却是任选的。

想了解这类标记的更多特性，请浏览Microsoft站点的开发网页www.microsoft.com/site builder，在technologies区查找。

技巧

当把用户置于考虑之中，不要将你的音乐文件做的很大，使得当音乐播放之前用户就失去耐心而离开。使用LOOP特性创造特殊的扩展效果，并使用MIDI文件来将文件长度减到最小。