• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

嵌入式Web视频点播系统实现方法

发布: 2009-3-16 10:40 | 作者: 不详 | 来源: 测试时代采编 | 查看: 61次 | 进入软件测试论坛讨论

领测软件测试网


   
   <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,或完全通过 java script 实现。
   
   
   二、使用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控件。
   
   
   下面我们加入简单的java script 代码用来控制视频的播放。
   
   <script language="java script">
   
   function play(filename){
   
   top.document.all("iVideo").src = "video.php?src="+filename;
   
   } // iVideo 是刚刚定义的IFRAME 的标识符
   
   </script>
   
   我们可以使用java script控制RealPlayer插件更复杂的功能,如提取视频的长宽、测试用户的网络速率、自定义播放事件等等。关于RealPlayer ActiveX开发的具体细节,请参阅RealPlayer官方网站http://service.real.com/help/library/guides/extend/embed.htm。
   
   我们假设有一个视频文件,其URL为http://YourURL/filename.ram,那么我们就可以这样定义:
   
   <a href="java script:play("http://YourURL/filename.ram")">文件1</a>,如果文件是在本地,URL也可以为相对路径。
   
   
   三、检测用户是否安装RealPlayer播放器
   
   在页面的<head></head>部分加入以下java script代码,用以检测用户是否安装RealPlayer播放器:
   
   <SCRIPT LANGUAGE=java script>
   
   <!--
   
   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;
   
   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的视频点播的基本功能。但我们要想把功能做的更完美一些,还需要其它更复杂的考虑。如流媒体的制作、网页美工的设计、网络流速的考虑,以及网站视频文件的有效组织。这些话题已经超出了本文的讨论范围,请读者自行参考相关资料。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网