1

我有一个简单的 ASP.NET 页面,它使用 VLC 媒体播放器在 IE 中播放视频。我还有四个按钮来控制播放:

Play, Pause, Stop, and Mute

这四个按钮调用访问 ActiveX 控件的 JavaScript 函数。当我单击任何按钮时,我在 JavaScript 函数中收到以下错误:

"Microsoft JScript runtime error: 'vlc' is undefined".

但是,如果将objectvlc 播放器的标签移到标签之外form,那么 JavaScript 可以正常工作,我可以控制视频播放。

我的问题是为什么object标签必须在表单标签之外才能使此代码正常工作?

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="Default.aspx.cs" Inherits="VlcTest.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>VLC Test Page</title>

    <script type="text/javascript">
        function mute() {
            vlc.audio.toggleMute();
        }
        function play() {
            vlc.playlist.play();
        }
        function stop() {
            vlc.playlist.stop();
        }
        function pause() {
            vlc.playlist.togglePause();
        }
    </script>

</head>
<body>

    <form id="form1" runat="server">
        <div>

            <object type="application/x-vlc-plugin" 
                id="vlc" 
                width="720"
                height="548" 
                classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" >
                <param name="MRL" 
                    value="C:\Inetpub\wwwroot\Movies\Funny Cats.flv" />
                <param name="volume" value="50" />
                <param name="autoplay" value="false" />
                <param name="loop" value="false" />
                <param name="fullscreen" value="false" />
            </object>

            <br />

            <div id="controls">
                <input type="button" onclick="play()" value="Play" />
                <input type="button" onclick="pause()" value="Pause" />
                <input type="button" onclick="stop()" value="Stop" />
                <input type="button" onclick="mute()" value="Mute" />
            </div>

        </div>
    </form>
</body>
</html>
4

1 回答 1

0

问题是<form>标签内部的<object>元素超出了范围。

尝试使用:

function play() {
  var player = document.getElementById("vlc");
  player.playlist.play();
}
于 2010-10-13T15:30:09.693 回答