Background Audio

One other form of inline multimedia is generally available to web surfers—audio. Most browsers treat audio multimedia as separate documents, downloaded and displayed by special helper applications, applets, or plug-ins. Internet Explorer and Opera, on the other hand, contain built-in sound decoders and support a special tag (<bgsound>) that lets you integrate with your document an audio file that plays in the background as a soundtrack for your page. [Applets and Objects, 12.1] [Embedded Content, 12.2]

We applaud the developers of Internet Explorer and Opera for providing a mechanism that more cleanly integrates audio into HTML and XHTML documents. The possibilities with audio are very enticing, but at the same time, we caution authors that special tags and attributes for audio don't work with other browsers, and whether this is the method that the majority of browsers will eventually support is not at all assured.

Use the <bgsound> tag to play a soundtrack in the background. This tag is for Internet Explorer and Opera documents only. Other browsers ignore the tag. It downloads and plays an audio file when the user first downloads and displays the host document. The background sound file also will replay whenever the user refreshes the browser display.

There are other ways to include audio in your documents, using more general mechanisms that support other embedded media as well. The most common alternative to the <bgsound> tag is the <embed> tag, originally implemented by Netscape and supplanted by the <object> tag in the HTML 4 and XHTML standards. Take a look in Chapter 12 for details.

Ultimately, you should handle all background audio, including spoken (aural) document content, using the various audio extensions defined in a CSS standard. While we cover the speech synthesis-related extensions in Chapter 8, they are not yet supported by any browser. When such support becomes widely available, all of these early audio extensions will go the way of the <blink> and <isindex> tags, early specialized tags deprecated in favor of more generalized and powerful features.