JavaScript多媒体


JavaScript navigator对象包括一个叫做plugins的子对象。这个对象是一个数组,浏览器上安装的每个插件都有一个条目。navigator.plugins对象只被Netscape、Firefox和Mozilla支持。

这是一个示例,显示了如何列出浏览器中安装的所有插件:

<html>
    <head>
        <title>List of Plug-Ins</title>
    </head>
   
    <body>
        <table border = "1">
            <tr>
                <th>Plug-in Name</th>
                <th>Filename</th>
                <th>Description</th>
            </tr>
         
            <script language = "JavaScript" type = "text/javascript">
                for (i = 0; i<navigator.plugins.length; i++) {
                    document.write("<tr><td>");
                    document.write(navigator.plugins[i].name);
                    document.write("</td><td>");
                    document.write(navigator.plugins[i].filename);
                    document.write("</td><td>");
                    document.write(navigator.plugins[i].description);
                    document.write("</td></tr>");
                }
            </script>
        </table>
    </body>
</html>

检查插件


每个插件在数组中都有一个条目。每个条目具有以下属性:

  • name:是插件的名称。

  • filename:是为安装插件而加载的可执行文件。

  • description:是开发人员提供的插件说明。

  • mimeTypes:是一个数组,该插件支持每种MIME类型一个条目。

你可以在脚本中使用这些属性来查找已安装的插件,然后使用JavaScript来播放适当的多媒体文件。看下面的例子。

<html>   
    <head>
        <title>Using Plug-Ins</title>
    </head>
   
    <body>
        <script language = "JavaScript" type = "text/javascript">
            media = navigator.mimeTypes["video/quicktime"];
         
            if (media) {
                document.write("<embed src = 'quick.mov' height = 100 width = 100>");
            } else {
                document.write("<img src = 'quick.gif' height = 100 width = 100>");
            }
        </script>
    </body>
</html>

注意:在这里,我们使用HTML标签嵌入多媒体文件。

控制多媒体


让我们举一个几乎可以在所有浏览器中使用的真实示例:

<html>   
    <head>
        <title>Using Embeded Object</title>
      
        <script type = "text/javascript">
            <!--
                function play() {
                    if (!document.demo.IsPlaying()) {
                        document.demo.Play();
                    }
                }
                function stop() {
                    if (document.demo.IsPlaying()) {
                        document.demo.StopPlay();
                    }
                }
                function rewind() {
                    if (document.demo.IsPlaying()) {
                        document.demo.StopPlay();
                    }
                    document.demo.Rewind();
                }
            //->
        </script>
    </head>
   
    <body>
        <embed id = "demo" name = "demo"
            src = "http:// www.amrood.com/games/kumite.swf“
            width = "318" height = "300" play = "false" loop = "false"
            pluginspage = "http:// www.macromedia.com/go/getflashplayer”
            swliveconnect = "true">
      
        <form name = "form" id = "form" action = "#" method = "get">
            <input type = "button" value = "Start" onclick = "play();" />
            <input type = "button" value = "Stop" onclick = "stop();" />
            <input type = "button" value = "Rewind" onclick = "rewind();" />
        </form>
    </body>
</html>

如果你使用的是Mozilla,Firefox或Netscape,则