您现在的位置:网络学院 > 新手上路 > 你问我答 > 网页制作问答
网页制作问答
非常感谢您上次的 解答!非常谢谢了! 这次有两个问题向您请教.第一个就是怎么样才能在网页的特定地方嵌入realplayer?第二个问题是:我用access做数据库,自动更新网页.但是怎么样才能使最近更新的数据在网页的最前面呢?我试过在access中找,但是没有可以使新插入的数据的id为1的,这样新数据就位于最后一页!请问在dreamweaver中是否还有其他的什么服务器行为呢? 我找了半天也没有找到什么. 在您百忙中来麻烦您,实在不好意思!我以前曾经写过很多email向那些网站咨询,但大都是无功而反! 而第一次向您提问就很快得到了非常满意的回复,真的非常感谢啊! 问一下,为什么成都的报价现在没有了? 谢谢了 !!!(2002-8-8)
答:先回答你的第一个问题吧:

在网页中嵌入realplayer,这是目前很多网站采取的流媒体播放形式,制作步骤如下(以下过程用到了部分PHP和JavaScript技术,有疑惑的话请参考相关资料):

下面笔者以IE5.0为例,说明一个嵌入式WEB视频点播系统的实现方法,其中用到了部分PHP和JavaScript技术,有疑惑的读者请参考相关资料。


一、插入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的视频点播的基本功能。但我们要想把功能做的更完美一些,还需要其它更复杂的考虑。如流媒体的制作、网页美工的设计、网络流速的考虑,以及网站视频文件的有效组织。这些话题已经超出了本文的讨论范围,请读者自行参考相关资料。


--------------------------------------------------------
第二个问题比较复杂,你可以参见http://wwwb.pconline.com.cn/pcedu/sj/jq/dreamweaver.htm里面的《Ultradev实例教程》


内容搜索 
高级搜索

本栏今日焦点