我现在遇到了一个问题,我一个.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="&MM_ComponentVersion=1&skinName=Corona_Skin_3&streamName=Videos/Sample01&autoPlay=false&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="&MM_ComponentVersion=1&skinName=Corona_Skin_3&streamName=Videos/Sample01&autoPlay=false&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有谁能帮助我解决这个问题?
谢谢!
<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="&MM_ComponentVersion=1&skinName=Corona_Skin_3&streamName=Videos/Sample01&autoPlay=false&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="&MM_ComponentVersion=1&skinName=Corona_Skin_3&streamName=Videos/Sample01&autoPlay=false&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有谁能帮助我解决这个问题?
谢谢!
解决方案 »
- JS怎么做到让表单提交时不跳转!还有怎么设置跳转不可用呢?
- [求助]关于访问服务器参数乱码问题
- extjs树右键菜单问题
- 请教:CSDN发贴的时间间隔是多少?
- 请教各位兄台怎么修改下面的Javascript代码以使其兼容FF正常运行,如同IE一样。
- select 设成多选框,……
- 使用代码分析神器logger2js,搞定一切难题[百度地图api示例]
- javascript有没有办法实现IE的“目标另存为”这个功能-注意不是网页另存
- 怎么实现淘宝上点击不同的套餐 局部刷新价格的效果 大神给个思路
- 在WebSphere 性能调优方面有哪些好用的工具
- 如何实现百度图片效果
- js对象为空,延迟加载defer为空
看下是alert出什么
再试下这个
我想了想,这个问题是这样的,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');"删除播放器。
http://www.longtailvideo.com/support/jw-player-setup-wizard
按照SETUP WIZARD下的内容填写,就可以生成插入代码,复制到你的页面中,并按照你的要求修改就可以了