CSDN博客

img dadunqingwa

如何在网页中播放RM格式

发表于2004/9/29 8:23:00  2213人阅读

这样为什么没有视频?  
<embed  src="lucky.rm"  type="audio/x-pn-realaudio-plugin"  controls="statubar,controlPanel"  autostart="true"  border="1"  width="500"  height="400"></embed>  
---------------------------------------------------------------  
 
一、插入RealPlayer  ActiveX对象(如果要进行测试,需要先安装RealPlayer播放器)  
 
假定以下代码包含在video.php文档中(该文件将在主页面中通过<iframe>进行链接)。  <object  width="320"  height="250"  classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">  
 
<param  name="CONTROLS"  value="ImageWindow">  
 
<param  name="CONSOLE"  value="Video">  
 
<param  name="CENTER"  value="TRUE">  
 
<param  name="MAINTAINSPECT"  value="TRUE">  
 
</object>  //定义播放界面  
 
<object  width="320"  height="30"  classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">  
 
<param  name="CONTROLS"  value="StatusBar">  
 
<param  name="CONSOLE"  value="Video">  
 
</object>  //定义状态栏  
 
<object  width="320"  height="30"  classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">  
 
<param  name="CONTROLS"  value="ControlPanel">  
 
<param  name="CONSOLE"  value="Video">  
 
<param  name="SRC"  value="<?php  echo  getsrc();  ?>">  
 
<param  name="AUTOSTART"  value="TRUE">  
 
<param  name="PREFETCH"  value="0">  
 
<param  name="LOOP"  value="0">  
 
<param  name="NUMLOOP"  value="0">  
 
</object>  //定义控制面板  
 
其中,CONTROLS参数用来指定播放器的控件外观,可以用多个控件进行组合,并通过CONSOLE参数进行关联。  
 
有关param参数,读者可以参阅RealPlayer官方网站http://service.real.com/help/library/guides/production/htmfiles/control.htm。  
 
这里的SRC参数尤为重要,用来指定视频流文件的URL地址。这里笔者使用PHP代码的方法动态的指定SRC,读者也可以使用其它如ASP,或完全通过  JavaScript  实现。  
 
 
二、使用DHTML动态控制RealPlayer控件的播放  
 
小技巧:<IFRAME>的妙用。由于为RealPlayer控件指定新的SRC需要刷新页面,使用<IFRAME>可以把RealPlayer控件嵌入到单独的页面中,这样,动态刷新就是在<IFRAME>内进行,不会影响用户观看页面其它内容。  
 
以下代码包含在主页面中:  
 
<IFRAME  id="iVideo"  SRC="video.php"  Width=500  Height=345  frameborder=0  SCROLLING="no">  
 
</IFRAME>,其中,video.php文件用力显示RealPlayer控件。  
 
 
下面我们加入简单的JavaScript  代码用来控制视频的播放。  
 
<script  language="JavaScript">  
 
function  play(filename){  
 
top.document.all("iVideo").src  =  "video.php?src="+filename;  
 
}  //  iVideo  是刚刚定义的IFRAME  的标识符  
 
</script>  
 
我们可以使用javascript控制RealPlayer插件更复杂的功能,如提取视频的长宽、测试用户的网络速率、自定义播放事件等等。关于RealPlayer  ActiveX开发的具体细节,请参阅RealPlayer官方网站http://service.real.com/help/library/guides/extend/embed.htm。  
 
我们假设有一个视频文件,其URL为http://YourURL/filename.ram,那么我们就可以这样定义:  
 
<a  href="JavaScript:play('http://YourURL/filename.ram')">文件1</a>,如果文件是在本地,URL也可以为相对路径。  
 
 
三、检测用户是否安装RealPlayer播放器  
 
在页面的<head></head>部分加入以下JavaScript代码,用以检测用户是否安装RealPlayer播放器:  
 
<SCRIPT  LANGUAGE=JavaScript>  
 
<!--  
 
var  RealMode=0;  
 
var  RealPlayer5=0;  
 
var  RealPlayer4=0;  
 
var  RealPlayerG2=0;  
 
 
if  (navigator.userAgent.indexOf("MSIE")<  0  ){  
 
numPlugins  =  navigator.plugins.length;  
 
for  (i  =  0;  i  <  numPlugins;  i++){  
 
plugin  =  navigator.plugins[i];  
 
if  (plugin.name.substring(0,10)=="RealPlayer"){  
 
RealMode=1;  
 
}  
 
}  
 
}  
 
//  以下代码通过VBScript的CreateObject()函数动态的创建RealPlayer对象  
 
document.write('<SCRIPT  LANGUAGE=VBScript/>  /n');  
 
document.write('on  error  resume  next  /n');  
 
document.write('RealPlayerG2  =  (NOT  IsNull(CreateObject("rmocx.RealPlayer  G2  Control")))/n');  
 
document.write('RealPlayer5  =  (NOT  IsNull(CreateObject("RealPlayer.RealPlayer(tm)  ActiveX  Control  (32-bit)")))/n');  
 
document.write('RealPlayer4  =  (NOT  IsNull(CreateObject("RealVideo.RealVideo(tm)  ActiveX  Control  (32-bit)")))/n');  
 
document.write('</SCRIPT/>  /n');  
 
if  (  RealPlayerG2    ¦  ¦  RealPlayer5    ¦  ¦  RealPlayer4  ){  
 
//可以在此处添加<object>对象  
 
}else  if  (  RealMode  ){  //  NetScape浏览器用户  
 
//  可以在此处加入<embed>对象  
 
}else{  
 
window.location.replace("install.htm");  //  转入install.htm页面指导用户进行安装  
 
}  
 
-->  
 
</Script>  
 
 
至此,我们已经实现了一个基于Web的视频点播的基本功能。但我们要想把功能做的更完美一些,还需要其它更复杂的考虑。如流媒体的制作、网页美工的设计、网络流速的考虑,以及网站视频文件的有效组织。这些话题已经超出了本文的讨论范围,请自行参考相关资料。
阅读全文
0 0

相关文章推荐

img
取 消
img