我现在遇到了一个问题,我一个.aspx页面中的panl控件中用Dreamweaver CS4 插入了一个能播放flv视频的控件,其实就是google的swfobject控件的改良版,增加了flash控制面板。在这个播放控件下我添加了一个imput button,并设置当点击这个按钮会让当前的视频播放停止,具体请看下面的代码:<script src="Scripts/swfobject_modified.js" type="text/javascript"></script><asp:Panel ID="Panel1" runat="server" Width="370" Height="310" BackColor="Black">
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="360" height="264" id="FLVPlayer1">
      <param name="movie" value="FLVPlayer_Progressive.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="scale" value="noscale" />
      <param name="salign" value="lt" />
      <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Corona_Skin_3&amp;streamName=Videos/Sample01&amp;autoPlay=false&amp;autoRewind=false" />
      <param name="swfversion" value="8,0,0,0" />
      <!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="FLVPlayer_Progressive.swf" width="360" height="264">
      <!--<![endif]-->
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="scale" value="noscale" />
      <param name="salign" value="lt" />
      <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Corona_Skin_3&amp;streamName=Videos/Sample01&amp;autoPlay=false&amp;autoRewind=false" />
      <param name="swfversion" value="8,0,0,0" />
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
      <div>
          <h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
          <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" /></a></p>
      </div>
      <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
    </object>
    <script type="text/javascript">
    <!--
        swfobject.registerObject("FLVPlayer1");
    //-->
    </script>
    <input id="Button1" type="button" value="关闭视频窗口" onclick="FLVPlayer1.sendEvent('STOP');" />
</asp:Panel>我定义了一个object,id是FLVPlayer1,然后使用swfobject.registerObject("FLVPlayer1")注册它,但是在按钮的onclick事件里使用FLVPlayer1.sendEvent('STOP')向播放控件发送停止播放指令时没有发挥作用,还会产生出错代码:消息: 对象不支持此属性或方法
行: 323
字符: 1
代码: 0有谁能帮助我解决这个问题?
谢谢!

解决方案 »

  1.   

    <input id="Button1" type="button" value="关闭视频窗口" onclick="alert(FLVPlayer1);" />
    看下是alert出什么
      

  2.   

    <input id="Button1" type="button" value="关闭视频窗口" onclick="alert(FLVPlayer1.sendEvent);" />
    再试下这个
      

  3.   

    我试了alert(FLVPlayer1.sendEvent);,提示没有定义。
    我想了想,这个问题是这样的,FLVPlayer_Progressive.swf播放器没有提供sendEvent接口,所以这样的调用不起作用。
    后来解决方案是,使用JW Player,它有免费版,java代码是在SWFOBJECT基础上修改的,原理大同小异,只是他们的Player.swf播放器有sendEvent接口,可以使用sendEvent("STOP")这样的调用来终止视频播放。目前JW Player的版本是5.2,下载后使用时还是会出现问题,有以下几点:
    1、我使用Visual studio 2010,在运行网页时会提示swfobject.js脚本中有错误,定位在下面的代码:
             n.innerHTML = this.getSWFHTML();
       将这行代码改为:
             document.write(this.getSWFHTML());
       就没有问题了。
    2、千万不要设置以下属性:
             so.addParam('wmode','opaque');
       这会引起在IE8中回放视频无图像的问题。问题虽然解决了,但是JW Player播放器感觉不太好用,主要问题是加载时会有很长时间的等待(相比FLVPlayer_Progressive来说),暂停或播放完毕后会出现英文的分享页面,用户使用时会感觉很奇怪,关闭X在左边,有时用户会不注意。其实我要实现的页面效果是:有一张图片,当用户点击图片后页面变为灰色,中间出现一个有视频播放器的panel,然后开始播放视频,点击“关闭”后这个panel隐藏,但必须想办法终止播放过程,不然还能听见声音。
    我现在的解决方案是仍然使用FLVPlayer_Progressive播放器,只是在点击图片时才使用onclick="swfobject.registerObject('FLVPlayer1');"注册播放器,按关闭按钮时调用"swfobject.removeSWF('FLVPlayer1');"删除播放器。
      

  4.   

    你好 楼主能指点一下 怎样在网页中插入jw flvplayer播放器吗?我在网上找了好多代码都不能操作成功。
      

  5.   

    请访问这里:
    http://www.longtailvideo.com/support/jw-player-setup-wizard
    按照SETUP WIZARD下的内容填写,就可以生成插入代码,复制到你的页面中,并按照你的要求修改就可以了