如何在网页中播放RM格式得录像啊?

这样为什么没有视频?

1<embed autostart="true" border="1" controls="statubar,controlPanel" height="400" src="lucky.rm" type="audio/x-pn-realaudio-plugin" width="500"/>

---------------------------------------------------------------

一、插入RealPlayer ActiveX对象(如果要进行测试,需要先安装RealPlayer播放器)

假定以下代码包含在video.php文档中(该文件将在主页面中通过

  1<iframe>进行链接)。 <object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="250" width="320">
  2<param name="CONTROLS" value="ImageWindow"/>
  3<param name="CONSOLE" value="Video"/>
  4<param name="CENTER" value="TRUE"/>
  5<param name="MAINTAINSPECT" value="TRUE"/>
  6</object> //定义播放界面   
  7  
  8<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="30" width="320">
  9<param name="CONTROLS" value="StatusBar"/>
 10<param name="CONSOLE" value="Video"/>
 11</object> //定义状态栏   
 12  
 13<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="30" width="320">
 14<param name="CONTROLS" value="ControlPanel"/>
 15<param name="CONSOLE" value="Video"/>
 16<param name="SRC" value="```
 17 echo getsrc(); 
 18```"/>
 19<param name="AUTOSTART" value="TRUE"/>
 20<param name="PREFETCH" value="0"/>
 21<param name="LOOP" value="0"/>
 22<param name="NUMLOOP" value="0"/>
 23</object> //定义控制面板   
 24  
 25其中,CONTROLS参数用来指定播放器的控件外观,可以用多个控件进行组合,并通过CONSOLE参数进行关联。   
 26  
 27有关param参数,读者可以参阅RealPlayer官方网站http://service.real.com/help/library/guides/production/htmfiles/control.htm。   
 28  
 29这里的SRC参数尤为重要,用来指定视频流文件的URL地址。这里笔者使用PHP代码的方法动态的指定SRC,读者也可以使用其它如ASP,或完全通过 JavaScript 实现。   
 30  
 31  
 32二、使用DHTML动态控制RealPlayer控件的播放   
 33  
 34小技巧:<iframe>的妙用。由于为RealPlayer控件指定新的SRC需要刷新页面,使用<iframe>可以把RealPlayer控件嵌入到单独的页面中,这样,动态刷新就是在<iframe>内进行,不会影响用户观看页面其它内容。   
 35  
 36以下代码包含在主页面中:   
 37  
 38<iframe frameborder="0" height="345" id="iVideo" scrolling="no" src="video.php" width="500">
 39</iframe>,其中,video.php文件用力显示RealPlayer控件。   
 40  
 41  
 42下面我们加入简单的JavaScript 代码用来控制视频的播放。   
 43  
 44<script language="JavaScript">   
 45  
 46function play(filename){   
 47  
 48top.document.all("iVideo").src = "video.php?src="+filename;   
 49  
 50} // iVideo 是刚刚定义的IFRAME 的标识符   
 51  
 52</script>   
 53  
 54我们可以使用javascript控制RealPlayer插件更复杂的功能,如提取视频的长宽、测试用户的网络速率、自定义播放事件等等。关于RealPlayer ActiveX开发的具体细节,请参阅RealPlayer官方网站http://service.real.com/help/library/guides/extend/embed.htm。   
 55  
 56我们假设有一个视频文件,其URL为http://YourURL/filename.ram,那么我们就可以这样定义:   
 57  
 58<a href="JavaScript:play('http://YourURL/filename.ram')">文件1</a>,如果文件是在本地,URL也可以为相对路径。   
 59  
 60  
 61三、检测用户是否安装RealPlayer播放器   
 62  
 63在页面的<head></head>部分加入以下JavaScript代码,用以检测用户是否安装RealPlayer播放器:   
 64  
 65<script language="JavaScript">   
 66  
 67<!--   
 68  
 69var RealMode=0;   
 70  
 71var RealPlayer5=0;   
 72  
 73var RealPlayer4=0;   
 74  
 75var RealPlayerG2=0;   
 76  
 77  
 78if (navigator.userAgent.indexOf("MSIE")< 0 ){   
 79  
 80numPlugins = navigator.plugins.length;   
 81  
 82for (i = 0; i < numPlugins; i++){   
 83  
 84plugin = navigator.plugins[i];   
 85  
 86if (plugin.name.substring(0,10)=="RealPlayer"){   
 87  
 88RealMode=1;   
 89  
 90}   
 91  
 92}   
 93  
 94}   
 95  
 96// 以下代码通过VBScript的CreateObject()函数动态的创建RealPlayer对象   
 97  
 98document.write('<SCRIPT LANGUAGE=VBScript\> \n');   
 99  
100document.write('on error resume next \n');   
101  
102document.write('RealPlayerG2 = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))\n');   
103  
104document.write('RealPlayer5 = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))\n');   
105  
106document.write('RealPlayer4 = (NOT IsNull(CreateObject("RealVideo.RealVideo(tm) ActiveX Control (32-bit)")))\n');   
107  
108document.write('</SCRIPT\> \n');   
109  
110if ( RealPlayerG2 ¦ ¦ RealPlayer5 ¦ ¦ RealPlayer4 ){   
111  
112//可以在此处添加<object>对象   
113  
114}else if ( RealMode ){ // NetScape浏览器用户   
115  
116// 可以在此处加入<embed>对象   
117  
118}else{   
119  
120window.location.replace("install.htm"); // 转入install.htm页面指导用户进行安装   
121  
122}   
123  
124\-->   
125  
126</script>   
127  
128  
129至此,我们已经实现了一个基于Web的视频点播的基本功能。但我们要想把功能做的更完美一些,还需要其它更复杂的考虑。如流媒体的制作、网页美工的设计、网络流速的考虑,以及网站视频文件的有效组织。这些话题已经超出了本文的讨论范围,请读者自行参考相关资料。</iframe></iframe></iframe></iframe>
Published At
Categories with Web编程
comments powered by Disqus