PDA

查看完整版本 : 【转帖】让IE内嵌的Real播放器也能双击全屏播放


Tony
2005-08-02, 12:53 PM
用惯了Windows Media Player或者Media Player Classic的朋友一定都习惯了双击全屏的控制方式。

但是偏偏Real Player并不支持双击全屏的控制方式。Real Player的主程序要改肯定不是那么容易的。

所以我就针对内嵌在IE浏览器里面的播放器插件来下手,

在IE浏览器里面内嵌Real播放器的标准代码里面其实连全屏的控制方式都没有,

网上可以搜索到的一些修改过的代码都是用按钮或者图片链接实现的全屏功能。

这样虽然可以实现全屏播放,但是退出全屏却必须按ESC键才行,很是不方便。

因此,我自行修改了播放代码,代码如下:
<div align="center">
<p>
<object id="rmplayer" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="380" height="285">
<param name="src" value="http://arming.w254.west263.cn/gznm/demo.rm">
<param name="autostart" value="1">
<param name="controls" value="imagewindow">
<param name="console" value="kingege">
<param name="loop" value="-1">
</object>
<br>
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="301" height="30">
<param name="controls" value="statusbar">
<param name="console" value="kingege">
</object>
<img src="http://arming.w254.west263.cn/gznm/rfullscreen.gif" width="79" height="30" alt="全屏" onclick="javascript:rmplayer.SetFullScreen()"><br>
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="380" height="34">
<param name="controls" value="controlpanel">
<param name="console" value="kingege">
</object>
<script language="VBScript">
rmplayer.SetWantErrors(true)
rmplayer.SetWantMouseEvents(true)
luptime=0
ldntime=0
lsetime=0

Sub rmplayer_OnLButtonUp(ByVal nFlags, ByVal nX, ByVal nY)
luptime=timer()
End Sub

Sub rmplayer_OnLButtonDown(ByVal nFlags, ByVal nX, ByVal nY)
ldntime=timer()
if ((ldntime-luptime)<0.25) and ((ldntime-lsetime)>0.75) then
if rmplayer.GetFullScreen() then
rmplayer.SetOriginalSize()
else
rmplayer.SetFullScreen()
end if
lsetime=ldntime
end if
End Sub
</script>
</p>
</div>
将这段代码嵌入网页里面,再修改RM文件的地址就可以播放了。

双击全屏的功能是通过script脚本实现的,由于REAL插件没有双击事件,只好通过单击事件来判断了。

代码实现了双击全屏播放,再次双击恢复,两次双击之间要求稍有停顿。

代码中省略了很多可选值的定义。引用时如果需要的请自行添加。