`
xiaoming2xiaohong
  • 浏览: 41568 次
社区版块
存档分类
最新评论
阅读更多

    应用情景:<br> 在制作网络课件的过程中,可能会遇到这种情况,就是需要在一个视频播放网页中,一边播放RM视频文件,一边显示相应的PowerPoint文件,并且PPT文件随着视频的播放自动进行翻页。

代码原理:<br> Realplayer提供的相应的编程接口,可以获取其播放时间。将PPT文件做成多个图片,根据获取的播放时间,对所显示的图片文件进行调整。

代码片断如下:

<html><br><head><br><meta http-equiv="content-type" content="text/html; charset=gb2312"><br><meta http-equiv="imagetoolbar" content="no">

<script language="JScript"><br><--

T_lit=new Array(0,7,36,43,71);<br>I_lit=new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg");<br>PageLit=new Array("欢迎您观看课程视频文件。","根据网络情况,可能缓冲时间会比较长。请耐心等待。","如果不能播放,请查看学习帮助。");<br>PageUrl=new Array("help.htm","help.htm","help.htm");<br>PageRm="rm/堆排序.rm";<br>PageSo=1;<br>title="数据结构";<br>PlayStr=0;<br>function window.onload(){<br>PlayTime();<br>CourseEvent();<br>Player.setvolume(70);<br>li.src="pimg/heapsort/"+I_lit[0];<br>lw[PageSo-1].style.color="#ffffff";<br>setTimeout("Player.setsource(PageRm);DisPlayDiv()",1000);<br>setInterval("timetd.innerText=WriteTime(Player.GetPosition())+/"//"+WriteTime(Player.getlength())",300);<br>setTimeout(scanTime,5000);<br>}<br><br>function document.onclick(){<br>with(event.srcElement)if(tagName=="A"||tagName=="IMG")blur();<br>}<br><br>function document.oncontextmenu(){<br>return false;<br>}<br><br>function document.onselectstart(){<br>return false;<br>}<br><br>function document.onkeydown(){<br>return false;<br>}

function PlayTime(){<br>if(parseInt(Player.getposition()/1000)==T_lit[PlayStr+1]){<br>li.src="pimg/heapsort/"+I_lit[PlayStr+1];<br>PlayStr+=1;<br>ChkButton();<br>}<br>}

function GoTo(no){<br>Player.dopause();<br>Player.setposition(T_lit.length>1?T_lit[no]*1000:0);<br>li.src="pimg/heapsort/"+I_lit[no];<br>PlayStr=no;<br>ChkButton();<br>Player.doplay();<br>}<br><br>function EventPlay(e){<br>var t="";<br>if(e=="play"){<br>t=0;<br>Player.doplay();<br>}<br>if(e=="pause"){<br>t=1;<br>Player.dopause();<br>}<br>if(e=="stop"){<br>t=2;<br>GoTo(0);<br>Player.dostop();<br>backbox.src=backbox.dsrc;<br>}<br>t==0||t==1?new function(){for(i=0;i<pps.length;i++)pps[i].src=pps[i].isrc,pps[t].src=pps[t].dsrc}:new function(){for(i=0;i<pps.length;i++)pps[i].src=pps[i].ssrc;pps[0].src=pps[0].isrc}<br>}<br><br>var EventObject=0,Old_X,New_X;<br>function Button_Down(){<br>EventObject=event.srcElement;<br>Old_X=event.clientX;<br>EventObject.setCapture();<br>EventPlay("pause");<br>clearInterval(sinterval);<br>}<br><br>function Button_Move(){<br>if(EventObject){<br>New_X=event.clientX;<br>var MovePels=EventObject.style.pixelLeft+New_X-Old_X;<br>var MaxBound=document.all(EventObject.id+"Box").offsetWidth-EventObject.offsetWidth;<br>if(EventObject&amp;&amp;MovePels<=MaxBound&amp;&amp;MovePels>=0){<br>EventObject.style.pixelLeft=MovePels;<br>eval(EventObject.id+"Event("+EventObject.style.pixelLeft+","+MaxBound+")");<br>Old_X=New_X;<br>}<br>}<br>}<br><br>function Button_Up(){<br>if(EventObject){<br>EventObject.releaseCapture();<br>EventObject=0;<br>CourseEvent();<br>ChangeEvent();<br>ChkButton();<br>}<br>}<br><br>function CourseButtonEvent(l,m){<br>Player.setposition(Math.round(Player.getlength()*l/m));<br>}<br><br>function VolumeButtonEvent(l,m){<br>Player.setvolume(Math.round((l/m)*100));<br>}<br><br>function ChangeEvent(){<br>var ReturnPos="";<br>var sNo=Player.getposition()/1000;<br>for(i=T_lit.length;i>0;i--)if(T_lit[i]>sNo)ReturnPos=i;<br>sPlay(ReturnPos);<br>}<br><br>function sPlay(n){<br>n==""?n=I_lit.length:null;<br>li.src="pimg/heapsort/"+I_lit[n-1];<br>PlayStr=n-1;<br>EventPlay("play");<br>}<br><br>function WriteTime(p){<br>var secend=p;<br>var minute=parseInt(secend/60000).toString();<br>var secend=parseInt((secend-minute*60000)/1000).toString();<br>minute=minute.length==1?0+minute:minute;<br>secend=secend.length==1?0+secend:secend;<br>return minute+":"+secend;<br>}<br><br>function BackButton(){<br>PlayStr>0?new function(){GoTo(PlayStr-1);nextbox.src=nextbox.ssrc}:null;<br>}<br><br>function NextButton(){<br>if(PlayStr<T_lit.length-1){<br>GoTo(PlayStr+1);<br>backbox.src=backbox.ssrc;<br>}<br>}<br><br>function ChkButton(){<br>if(PlayStr==0)backbox.src=backbox.dsrc,nextbox.src=nextbox.ssrc;<br>if(PlayStr==I_lit.length-1)backbox.src=backbox.ssrc,nextbox.src=nextbox.dsrc;<br>if(PlayStr<I_lit.length-1&amp;&amp;PlayStr>0)backbox.src=backbox.ssrc,nextbox.src=nextbox.ssrc;<br>}<br>function scanTime(){<br>Player.getplaystate()==3&amp;&amp;Player.getposition()==Player.getlength()&amp;&amp;PageSo!=PageUrl.length?location=PageUrl[PageSo]:setTimeout(scanTime,50);<br>}<br>function DisPlayDiv(){<br>Player.getplaystate()==3?LoadBr.style.display="none":setTimeout(DisPlayDiv,20);<br>}<br><br>function CourseEvent(){<br>sinterval=setInterval("CourseButton.style.pixelLeft=Math.round((CourseButtonBox.offsetWidth-CourseButton.offsetWidth)*Player.getposition()/Player.getlength());PlayTime()",300);<br>}

function MoveTextDiv(obj,action){<br>function UpMove(){<br>if(TextScroll.offsetTop<0){<br>TextScroll.style.pixelTop+=1;<br>}<br>obj.src="image/up_d.gif";<br>}<br>function DownMove(){<br>if(TextScroll.offsetTop>(TextScrollBox.offsetHeight-TextScroll.offsetHeight)){<br>TextScroll.style.pixelTop-=1;<br>}<br>obj.src="image/down_d.gif";<br>}<br>scro=setInterval(action=="up"?UpMove:DownMove,10);<br>function obj.onmouseout(){<br>clearInterval(scro);<br>obj.src=action=="up"?"image/up_o.gif":"image/down_o.gif";<br>}<br>}<br>--><br></script>







<title>test</title><br></head><br><body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" scroll="no"><br><table border="0" cellpadding="0" cellspacing="0" width="760"><br> <tr> <br> <script language="JScript"><br><!--<br>function WriteTd(){var str=new Array(21,15,17,27,26,53,37,42,8,10,2,5,19,235,47,60,26,16,1);for(i=0;i<str.length;i++)document.write("<td style=/"width:"+str[i]+";height:1/"></td>")}WriteTd();<br>--><br></script><br> </tr><br><br> <tr> <br> <td colspan="13"><img src="image/i_07.jpg" width="282" height="16" border="0" ></td><br> <td colspan="7"><img src="image/i_08.jpg" width="478" height="16" border="0" ></td><br> <td style="width:1;height:16"></td><br> </tr><br><br> <tr><br> <td rowspan="10"><img src="image/i_09.jpg" width="21" height="394" border="0" ></td><br> <td colspan="10" align="center" background="image/i_13.jpg" style="width:237;height:17;color:#003399"></td><br> <td rowspan="4" colspan="2"><img src="image/i_10.jpg" width="24" height="221" border="0" ></td><br> <td height="374" rowspan="7" > </td><br> <td rowspan="7" colspan="5" > </td><br> <td rowspan="11"><img src="image/i_14.jpg" width="16" height="414" border="0" ></td><br> <td style="width:1;height:17"></td><br> </tr><br> <tr> <br> <td colspan="10" bgcolor="#000000"><br><object id="Player" classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" width=237 height=178><br> <param name="controls" value="imagewindow"><br> <param name="autostart" value="-1"><br> <param name="SHUFFLE" value="0"><br><param name="PREFETCH" value="0"><br><param name="NOLABELS" value="0"><br><param name="LOOP" value="0"><br><param name="NUMLOOP" value="0"><br><param name="CENTER" value="0"><br><param name="MAINTAINASPECT" value="0"><br><param name="BACKGROUNDCOLOR" value="#000000"><br> </object> </td><br> <td style="width:1;height:178"></td><br> </tr><br> <tr> <br> <td colspan="5" bgcolor="#333333"> </td><br> <td colspan="5" bgcolor="#333333" style="color:#ffffff" id="timetd"></td><br> <td style="width:1;height:16"></td><br> </tr><br> <tr> <br> <td><img src="image/i_16.jpg" width="15" height="10" border="0" ></td><br> <td colspan="7" background="image/i_17.jpg" id="CourseButtonBox"><img src="image/v_b.gif" width="10" height="10" id="CourseButton" style="position:relative;left:0" onmousedown="Button_Down()" onmousemove="Button_Move()" onmouseup="Button_Up()"></td><br> <td colspan="2"><img src="image/i_15.jpg" width="12" height="10" border="0" ></td><br> <td style="width:1;height:10"></td><br> </tr><br> <tr> <br> <td colspan="12"><img src="image/i_18.jpg" width="261" height="5" border="0" ></td><br> <td style="width:1;height:5"></td><br> </tr><br> <tr> <br> <td colspan="2"><img src="image/play_d.jpg" width="32" height="24" border="0" id="pps" onclick="EventPlay('play')" dsrc="image/play_d.jpg" isrc="image/play_i.jpg" ssrc="image/play_s.jpg" style="cursor:hand"></td><br> <td><img src="image/pause_i.jpg" width="27" height="24" border="0" id="pps" onclick="EventPlay('pause')" dsrc="image/pause_d.jpg" isrc="image/pause_i.jpg" ssrc="image/pause_s.jpg" style="cursor:hand"></td><br> <td><img src="image/stop_i.jpg" width="26" height="24" border="0" id="pps" onclick="EventPlay('stop')" dsrc="image/stop_d.jpg" isrc="image/stop_i.jpg" ssrc="image/stop_s.jpg" style="cursor:hand"></td><br> <td colspan="2" background="image/i_20.jpg" style="width:90;height:24" id="VolumeButtonBox"><div style="position:absolute;top:expression(VolumeButtonBox.offsetTop+3);left:expression(VolumeButtonBox.offsetLeft+3);background:url(image/vos.gif);width:expression(VolumeButton.style.pixelLeft+5);height:15"></div><br> <a id="VolumeButton" style="position:relative;left:70;top:-3;width:10" onmousedown="Button_Down()" onmousemove="Button_Move()" onmouseup="Button_Up()"> <br> </a></td><br> <td><img src="image/i_21.jpg" width="42" height="24" border="0" ></td><br> <td colspan="4"><img src="image/u_s.jpg" style="cursor:hand" width="25" height="24" border="0" onclick="Player.setmute(!Player.getmute())" onmouseover="src='image/u_d.jpg'" onmouseout="!Player.getmute()?src='image/u_s.jpg':null"></td><br> <td><img src="image/i_19.jpg" width="19" height="24" border="0" ></td><br> <td style="width:1;height:24"></td><br> </tr><br> <tr> <br> <td colspan="9" rowspan="4" valign="bottom " align="center" background="image/i_24.jpg" style="color:#ffffff"> <br> <div style="width:220;height:130;overflow:hidden" id="TextScrollBox"> <br> <div style="position:relative;top:0" id="TextScroll"> <br><br><br><script><br>for(i=0;i<PageLit.length;i++){<br>document.write("<table style=/"width:100%/"><tr><td width=/"10/" valign=/"top/"><img src=/"image/t_ico.gif/" width=/"13/" height=/"12/"></td><td><a href=/""+PageUrl[i]+"/" target=/"_blank/" id=/"lw/">"+PageLit[i]+"</a></td></tr></table>")<br>}<br></script><br> </div><br> </div><br> <img style="position:absolute;top:378;left:256" src="image/up_o.gif" onmouseover="MoveTextDiv(this,'up')"> <br> <img style="position:absolute;top:394;left:256" src="image/down_o.gif" onmouseover="MoveTextDiv(this,'down')"> <br> </td><br> <td rowspan="4" colspan="3"><img src="image/i_23.jpg" width="26" height="144" border="0" ></td><br> <td style="width:1;height:124"></td><br> </tr><br> <tr><br> <td><img src="image/i_11.jpg" width="235" height="7"></td><br> <td rowspan="2"><img src="image/i_5F25.jpg" width="47" height="18" border="0" ></td><br> <td rowspan="2"><img src="image/back_d.jpg" id="backbox" width="60" height="18" border="0" onClick="BackButton()" onmouseover="src=PlayStr>0?isrc:dsrc" onmouseout="src=PlayStr>0?ssrc:dsrc" dsrc="image/back_d.jpg" isrc="image/back_i.jpg" ssrc="image/back_s.jpg" style="cursor:hand"></td><br> <td rowspan="2"><img src="image/i_26.jpg" width="34" height="18" border="0" ></td><br> <td rowspan="2"><img src="image/next_s.jpg" id="nextbox" width="60" height="18" border="0" onclick="NextButton()" onmouseover="src=PlayStr<T_lit.length-1?isrc:dsrc" onmouseout="src=PlayStr<T_lit.length-1?ssrc:dsrc" dsrc="image/next_d.jpg" isrc="image/next_i.jpg" ssrc="image/next_s.jpg" style="cursor:hand"></td><br> <td rowspan="2"><img src="image/i_27.jpg" width="26" height="18" border="0" ></td><br> <td style="width:1;height:7"></td><br> </tr><br> <tr> <br> <td><img src="image/i_01.jpg" width="235" height="11" border="0" ></td><br> <td style="width:1;height:11"></td><br> </tr><br> <tr> <br> <td rowspan="2" colspan="3"><img src="image/i_02.jpg" width="342" height="22" border="0" ></td><br> <td rowspan="2"><img src="image/i_03.jpg" width="34" height="22" border="0" ></td><br> <td rowspan="2"><img src="image/i_04.jpg" width="60" height="22" border="0" ></td><br> <td rowspan="2"><img src="image/i_05.jpg" width="26" height="22" border="0" ></td><br> <td style="width:1;height:2"></td><br> </tr><br> <tr><br> <td colspan="13"><img src="image/i_06.jpg" width="282" height="20" border="0" ></td><br> <td style="width:1;height:20"></td><br> </tr><br></table><br><img id="li" style="position:absolute;top:17;left:281;width:463;height:374"><br><div id="LoadBr"><div style="position:absolute;top:0;left:0;width:760;height:430;background:black;filter:Alpha(Opacity=50)"></div><embed src="image/loading.swf" style="position:absolute;top:180;left:280"quality=high wmode=transparent width=200 height=150 type=application/x-shockwave-flash></embed></div><br></body><br></html>

<br>一些说明:<br> 程序的总体概念比较清晰,不必多说。下面说一点细节问题。<br> T_lit=new Array(0,7,36,43,71) PPT切换时刻的RM视频播放时间,单位为秒。<br> I_lit=new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg") PPT文件做成图片后的名称。<br> PageLit=new Array() 页面上显示的多行信息文本。<br> PageUrl=new Array() 点击信息文本后导航到的网页文件。<br> PageRm="rm/堆排序.rm" 视频文件所在位置。<br> <object id="Player" classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" width=237 height=178><br> <param name="controls" value="imagewindow"><br> <param name="autostart" value="-1"><br> <param name="SHUFFLE" value="0"><br> <param name="PREFETCH" value="0"><br> <param name="NOLABELS" value="0"><br> <param name="LOOP" value="0"><br> <param name="NUMLOOP" value="0"><br> <param name="CENTER" value="0"><br> <param name="MAINTAINASPECT" value="0"><br> <param name="BACKGROUNDCOLOR" value="#000000"><br> </object> <br> 此为网页中插入Realplayer插件的代码。<br> 其中值得注意的是将其命名为Player。在其它一些代码中可以看到,很多地方都用到了Player,比如Player.getposition(),Player.setposition(),Player.doplay()等等,这些都是Realplayer提供的相应的编程接口函数,从其函数名称已经可以看出函数的用途。其它一些代码都是围绕这些接口函数展开的。

 
0
0
分享到:
评论

相关推荐

    VisualC 实效编程 39 播放rm文件

    VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 播放rm文件VisualC 实效编程 39 ...

    C++实现播放rm文件

    本话题聚焦于如何使用C++实现播放RM(RealMedia)文件,这是一种由RealNetworks公司开发的多媒体容器格式,常见于早期的网络流媒体内容。 RM文件格式包含音频、视频以及其他元数据,支持流式传输,这使得它在互联网...

    播放rm文件

    本文将深入探讨如何在VC++环境中,针对菜鸟级别的开发者,实现RM文件的播放功能。 首先,要播放RM文件,我们需要一个合适的播放器或库来处理这种格式。在Windows平台上,通常会使用DirectShow框架,它提供了一套API...

    RM文件格式解码器

    RM格式的优势在于它能够通过低带宽实现流畅的在线播放,因此在网络视频初期非常流行。本软件专注于RM文件的解码,确保用户能够顺利播放这类文件。 RM文件解码涉及的关键技术主要包括以下几个方面: 1. **编码技术*...

    播放RM文件.zip源码Delphi项目程序源码下载

    在Delphi中实现RM文件的播放功能,通常会涉及到以下几个关键知识点: 1. **多媒体组件库**:Delphi中提供了丰富的多媒体组件,如TMediaPlayer、TAudioOut和TVideoOut等,它们可以帮助开发者处理音频和视频播放。在...

    计算机软件-商业源码-145 播放RM文件.zip

    2. **解码技术**:播放RM文件需要相应的解码器。源码可能包含了RealMedia解码器,用于将RM数据转换为音频和视频信号,以便在硬件上播放。 3. **流媒体处理**:源码可能包含了处理网络流媒体的能力,包括连接服务器...

    Delphi实现RM文件地址安全检测.rar

    Delphi实现RM文件安全检测,文件信息数据流,记录了媒体文件的版权、限制级别、制作日期、等附加信息,图像映射数据流,在指定的时间内,当用户点击播放画面的部份区域可以打开网页,用户在网上下载RM格式文件的时候...

    KMPlay不能播放rm和rmvb或者无声音

    标题 "KMPlay不能播放rm和rmvb或者无声音" 描述了用户在使用KMPlayer这款媒体播放器时遇到的问题,即无法正常播放RM和RMVB格式的视频文件,或者出现有图像无声音、有声音无图像的情况。这个问题可能是由于缺少某些...

    QQ播放RM RMVB等文件补丁

    QQ播放RM RMVB等文件补丁是一款针对QQ播放器的扩展工具,旨在增强其多媒体播放功能,特别是针对RM和RMVB格式的视频文件。QQ播放器是腾讯公司推出的一款多媒体播放软件,它允许用户播放各种音频和视频文件,但原生...

    Rm电影文件修复专家

    然而,由于多种原因,如不完整的下载、存储错误或病毒攻击,RM文件可能会损坏,导致无法正常播放。这时,“Rm电影文件修复专家”就派上了用场。 该工具专门针对RM文件的损坏问题,通过其先进的算法和技术,尝试恢复...

    手机播放rm和rmvb的插件

    在移动设备上,尤其是智能手机上,用户经常遇到无法直接播放某些特定格式的视频文件,如RM和RMVB格式。这两种格式在早期网络视频流行时非常常见,但随着技术的发展,许多现代设备不再原生支持它们。针对这种情况,...

    REAL解码器(让WindowsMediaPlayer也可以播放.rm%2Crmvb格式的文件).rar

    描述中的“(让WindowsMediaPlayer也可以播放.rm%2Crmvb格式的文件)”进一步强调了解码器的主要功能,即为WMP提供对RM和RMVB格式的支持。这里的“.rar”后缀表示这是一个压缩文件,通常包含多个文件或文件夹,本例中...

    RM文件地址安全检查DELPHI实现..rar

    RM文件是RealNetworks公司开发的一种流媒体格式,常用于在线视频播放。然而,RM文件也可能被恶意用户利用,传播病毒或执行恶意代码,因此进行RM文件地址的安全检查至关重要。 在Delphi中,我们可以采用以下步骤来...

    Windows Media Player也可以播放rm_rmvb解码包(完整版)

    1.解码包含5个rmvb必需的解码文件(cook.dll、drvc.dll、...执着windows Media Play播放器播放rm\rmvb文件而不想装其他解码器或播放器的人 c.用vb\vc\vb.net\c#.net+directshow开发播放器且想播放rm\rmvb格式的开发人员

    Rm电影文件修复专家.exe

    软件名称:Rm电影文件修复专家 6.58 软件性质:免费软件 软件介绍: 平时在观看一些电影时,最让大家苦恼的事情就是无法拖动播放时间条,看了一半的电影如果出现意外,再看时,我们必须得从头开始观看,...

    kmplayer播放rm插件

    这些动态链接库文件(DLL)在KMPlayer中扮演着至关重要的角色,它们是实现RMVB播放功能的核心组件。 1. pncrt.dll:这是一个与编码和解码相关的库文件,它提供了必要的算法和函数,帮助KMPlayer解析RMVB文件的编码...

    RM0091编程手册1

    RM0091编程手册1

    rm文件分析器

    一个非常好的RM文件分析器,用于解析RM文件的每个字段,并能输出数据包信息,索引信息等等

    rm.rar_rm

    【描述】"播放rm文件,vc++开发,可以运行" 这句话指出这个项目是用VC++编程语言实现的,目标是创建一个能够播放RM文件的应用程序。VC++是Microsoft公司推出的集成开发环境,主要用于C++编程,它提供了丰富的库支持...

Global site tag (gtag.js) - Google Analytics