在WEB页上观看DVD Microsoft Windows Media Player(简称WMP)控件自动的调用Microsoft DirectShow API有关DVD-Video特定的界面,
方法,事件和属性。作为ActiveX控件,WMP控件可以作为WEB页的组件。透过增强的DVD回放能力,WMP可在静态的WEB页
面中添加令人激动的动态内容。通过访问Microsoft VBScript样例页面展示的DVD回放功能,你可以建立本文所要论述的一个概念。注意:要正确的观
看样例程序,你的系统必须能够回放DVD-Video,并安装了Microsoft Direct Show驱动程序。本文包含以下内容:定制用于DVD回放的控件建立可以回放DVD的WEB 页面定制用于DVD回放的控件
通过使用脚本语言,如VBScript和Microsoft Jscript,都可以很容易的在HTML文档中放置WMP控件。本段内容说明如
下问题。如何在HTML页面中内嵌WMP控件;如何使WMP控件回放DVD,如何用VBScript操作控制。插入WMP控件 
通过PARAM标记设置控件的属性 
添加简单的用户界面 
添加脚本代码 
插入WMP控件
我们知道,OBJECT标记用来将ActiveX控件嵌入到HTML页面中。下列代码是将WMP控件插入页面的例子:<OBJECT CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" WIDTH="652"    HEIGHT="382" ID="MediaPlayer1"> 
</OBJECT>下列的OBJECT表技属性是必需的。ID — 控件实例的参考名字 
CLSID — WMP组件的类标示符(CLSID).  CLSID 是组件对象模型 (COM)对象标示符。 
通过PARAM标记设置控件的属性
设置控件的属性的可选方法是在OBJECT标记间加入PARAM标记。该方法是设置设计时属性的理想方法。下面的代码显示了
在OBJECT标记中的PARAM标记的用法。<OBJECT CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" WIDTH="652"    HEIGHT="382" ID="MediaPlayer1"> 
<PARAM NAME="AutoStart" VALUE="0"> <PARAM NAME="Filename" VALUE="DVD:"> <PARAM NAME="ShowControls" VALUE="0"> 
</OBJECT>在前面所提到的例子中的PARAM有两个属性,第一个是属性的名字,第二个是属性的值。第一个PARAM标记将AutoStart设为False,
紧接着的两个PARAM标记改变FileName属性为DVD:,并将ShowControls属性设为False。注意:DVD的特别属性是不能用PARAM标记设定。用于激活DVD回放的关键设定是将FileName的属性设为DVD:,它通知WMP控件在本地系统上搜寻DVD驱动器。如果AutoStart属性为True(
默认选项),WMP控件会自动的回放DVD,否则必须将一个事件和DVD的回访关联起来,比如说按钮。添加简单的用户界面
建立简单的界面提供对DVD回放的控制是必要的,我们建立了两组按钮,一组用来控制菜单选择,另一组用来控制回放状态。下面的代码建立控制DVD菜单选择的按钮<INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdTopSelect" VALUE="Top"><INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdLeftSelect" VALUE="Left"><INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdRightSelect" VALUE="Right"><INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdBottomSelect" VALUE="Bottom"><INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdButtonActivate" VALUE="Select">
 下面的代码建立控制基本操作的按钮(播放,暂停和停止),当然还包括章节搜索和快进。<INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdPlay" VALUE="Play"><INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdPause" VALUE="Pause"><INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdStop" VALUE="Stop"><INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdResume" VALUE="Resume"><INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdShowMenu" VALUE="Menu"><INPUT TYPE="BUTTON" NAME="cmdPrevChapter" VALUE="|<<"><INPUT TYPE="BUTTON" NAME="cmdRewind" VALUE="<<"><INPUT TYPE="BUTTON" NAME="cmdFastForward" VALUE=">>">    <INPUT TYPE="BUTTON" NAME="cmdNextChapter" VALUE=">>|">
  
 
YB_unique (2001-11-21 13:49:00)  
添加脚本代码脚本代码为页面添加了交互性,允许程序响应事件,调用方法,改变运行时属性。下列代码显示每
一个按钮相对应的子过程,他们由Onclick事件激活。当事件被触发后产生一个调用(或者是一系
列的调用),控制WMP控件产生相应的动作。显示样例代码
<SCRIPT LANGUAGE="VBScript">
<!--
Dim isScanningisScanning = FalseSub cmdPlay_OnClick()
    If isScanning Then
   MediaPlayer1.DVD.ForwardScan(1)
    Else
    MediaPlayer1.Play()        
    End If    isScanning = False
End SubSub cmdPause_OnClick()
MediaPlayer1.Pause()
End SubSub cmdStop_OnClick()
MediaPlayer1.Stop()
End SubSub cmdResume_OnClick()
MediaPlayer1.DVD.ResumeFromMenu()
End SubSub cmdShowMenu_OnClick()
MediaPlayer1.DVD.MenuCall(3)
End SubSub cmdPrevChapter_OnClick()
MediaPlayer1.DVD.PrevPGSearch()
End SubSub cmdNextChapter_OnClick()
MediaPlayer1.DVD.NextPGSearch()
End SubSub cmdFastForward_OnClick()
    isScanning = True
MediaPlayer1.DVD.ForwardScan(5)
End SubSub cmdRewind_OnClick()
    isScanning = True
MediaPlayer1.DVD.BackwardScan(5)
End SubSub cmdTopSelect_OnClick()
MediaPlayer1.DVD.UpperButtonSelect()
End SubSub cmdLeftSelect_OnClick()
MediaPlayer1.DVD.LeftButtonSelect()
End SubSub cmdRightSelect_OnClick()
MediaPlayer1.DVD.RightButtonSelect()
End SubSub cmdBottomSelect_OnClick()
MediaPlayer1.DVD.LowerButtonSelect()
End SubSub cmdButtonActivate_OnClick()
Dim buttonNumber 
buttonNumber = MediaPlayer1.DVD.CurrentButton
MediaPlayer1.DVD.ButtonSelectAndActivate(buttonNumber)
End Sub-->
</SCRIPT>
建立可以回放DVD的WEB 页面
在混合了刚才我们讨论的元素后,将每一个片断的拼接在一起就形成了下面的代码。将下列的代码拷贝到某个.HTM文件中,就可以看到效果。显示样例代码 <HTML>
 <HEAD>
 <TITLE>DVD_Demo</TITLE>
 </HEAD>
 <BODY BGCOLOR="#000000" TEXT="#00FFFF"> <CENTER>
 <TABLE>
 <TR>
 <TD VALIGN="TOP" WIDTH="10%">
 </TD>
 <TD>
 <P ALIGN="center">
 <OBJECT CLASSID="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" WIDTH="652"
   HEIGHT="382" ID="MediaPlayer1">
 <PARAM NAME="AutoStart" value="0">
 <PARAM NAME="Filename" value="DVD:">
 <PARAM NAME="ShowControls" value="0">
 </OBJECT>
 </P>
 </TD>
 <TD VALIGN="TOP" WIDTH="10%">
Menu Select
 <BR>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdTopSelect" VALUE="Top">
 <BR>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdLeftSelect" VALUE="Left">
 <BR>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdRightSelect" VALUE="Right">
 <BR>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdBottomSelect" VALUE="Bottom">
 <P>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:70" NAME="cmdButtonActivate" VALUE="Select">
 <P>
 </TD>
 </TR>
 </TABLE>
 </CENTER> <CENTER>
 <INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdPlay" VALUE="Play">
 <INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdPause" VALUE="Pause">
 <INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdStop" VALUE="Stop">
 <INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdResume" VALUE="Resume">
 <INPUT TYPE="BUTTON" STYLE="WIDTH:60" NAME="cmdShowMenu" VALUE="Menu">
 <P>
 <INPUT TYPE="BUTTON" NAME="cmdPrevChapter" VALUE="| < <">
 <INPUT TYPE="BUTTON" NAME="cmdRewind" VALUE=" < <">
 <INPUT TYPE="BUTTON" NAME="cmdFastForward" VALUE=" > >">
 <INPUT TYPE="BUTTON" NAME="cmdNextChapter" VALUE=" > >|">
 </CENTER> <SCRIPT LANGUAGE="VBScript">
 <!--
 Dim isScanningisScanning = FalseSub cmdPlay_OnClick()
    If isScanning Then
   MediaPlayer1.DVD.ForwardScan(1)
    Else
    MediaPlayer1.Play()        
    End If    isScanning = False
End SubSub cmdPause_OnClick()
MediaPlayer1.Pause()
End SubSub cmdStop_OnClick()
MediaPlayer1.Stop()
End SubSub cmdResume_OnClick()
MediaPlayer1.DVD.ResumeFromMenu()
End SubSub cmdShowMenu_OnClick()
MediaPlayer1.DVD.MenuCall(3)
End SubSub cmdPrevChapter_OnClick()
MediaPlayer1.DVD.PrevPGSearch()
End SubSub cmdNextChapter_OnClick()
MediaPlayer1.DVD.NextPGSearch()
End SubSub cmdFastForward_OnClick()
    isScanning = True
MediaPlayer1.DVD.ForwardScan(5)
End SubSub cmdRewind_OnClick()
    isScanning = True
MediaPlayer1.DVD.BackwardScan(5)
End SubSub cmdTopSelect_OnClick()
MediaPlayer1.DVD.UpperButtonSelect()
End SubSub cmdLeftSelect_OnClick()
MediaPlayer1.DVD.LeftButtonSelect()
End SubSub cmdRightSelect_OnClick()
MediaPlayer1.DVD.RightButtonSelect()
End SubSub cmdBottomSelect_OnClick()
MediaPlayer1.DVD.LowerButtonSelect()
End SubSub cmdButtonActivate_OnClick()
Dim buttonNumber 
buttonNumber = MediaPlayer1.DVD.CurrentButton
MediaPlayer1.DVD.ButtonSelectAndActivate(buttonNumber)
End Sub
  --