Embedding Files Using the object Element
Another means of providing audio, video, and other multimedia such as Flash animations and Java applets is to embed them directly into the page. This means that the software plug-in automatically loads with the page.
All external files are considered objects. This includes images as well as multimedia files. In contemporary HTML and XHTML specifications, the proper way to include all multimedia is to use the object element to embed a file directly:
<object data="media/video-sample.avi" type="video/avi" />
This results in the player application appearing on the page. The video can then be played (see Figure 3-10).
Figure 3-10. The embedded player loaded into Internet Explorer.
Of course, you can do a lot more in terms of providing advanced settings. To learn more about the many available settings for multimedia, see the excellent tutorial at http://www.w3schools.com/media/default.asp.
In instances with Flash files, you use the object element to achieve inline results, as you can see in Example 3-7.
Example 3-7. Embedding a Flash movie file (SWF) into a page using <object>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100"
<param name="movie" value="media/ava.swf" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="quality" value="high" />
In most standards-compliant browsers that also have Flash enabled, the file should play directly upon loading, as shown in Figure 3-11.
Figure 3-11. The Flash animation of the AVA logo plays inline in Internet Explorer.
As you can see, quite a bit of information has to go along with objects, including codebase information and use of the parameter element to define not only the location of the file, but also aspects about how it's to be played. These options are all generated by Macromedia Flash when you create the Flash file. For more information on Flash, see http://www.macromedia.com/software/flash/.
You can use the object element for audio and Java applets, too. Simply add the correct codebase information and desired parameters, and you'll be good to go.