在一个aspx文件加一段声音文件的代码怎么写

可以在Web页中使用Media   Player  
   
  在Web页中嵌入Media   Player的方法比较简单,只要用HTML中的<Object></Object>可以了,如下所示。  
  <OBJECT   ID="WMPlay"   WIDTH=320   HEIGHT=240  
  CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"  
  CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/  
  nsmp2inf.cab#Version=6,4,5,715"  
  STANDBY="Loading   Microsoft?   Windows   Media?   Player   components..."  
  TYPE="application/x-oleobject">  
  </OBJECT>  
  其中ID是对象的名称,当用户在JavaScript要对Media   Player进行控制时可以用该对象的名称WMPlay进行访问。CODEBASE指明当用户的浏览器中没有安装Player控件时可以从该URL指定的位置去获取。  
  当然在建立Player对象时也可以用<PARAM   >来为其指定参数。如下所示:  
  <PARAM   NAME="FileName"   VALUE="C:ASFRootWelcome.asf">  
  <PARAM   NAME="ShowControls"   VALUE="False">  
  <PARAM   NAME="AutoRewind"   VALUE="True">  
  <PARAM   NAME="AutoStart"   VALUE="False">  
  其中"FileName"参数表示Media   Player要播放的文件活或流。"ShowControls"表示在播放时是否显示控制条。Media   Player的参数很多,我们在此不再一一详述。读者如果需要了解更详细的内容可以参考Media   Player   SDK中的相关部分。  
  如果用户需要对Media   Player进行控制可以用JavaScript进行控制。  
   
   
  在这个例子中,Media   Player嵌入在Web页面中,在Media   Player右边有一些按钮,利用这些按钮用户可以控制Media   Player的播放活动。这些按钮的HTML代码如下:  
  <form   name="myform">  
  <input   type="button"   width="15"   value="No   Controls   "   name="NoControls"  
  OnClick="controlType(false)">  
  <input   type="button"   width="15"   value="All   Controls"   name="Full"  
  Onclick="controlType(true)">  
  <input   type="button"   width="15"   value="   Small   "   name="Small"  
  OnClick="displaySize(1)">  
  <input   type="button"   value="   Large   "   name="Large"  
  Onclick="displaySize(2)">  
  <input   type="button"   width="15"   value="   Normal   "   name="Normal"  
  Onclick="displaySize(0)">  
  <input   type="button"   width="15"   value="   Play   "   name="Play"  
  Onclick="PlayClick()">  
  <input   type="button"   width="15"   value="   Stop   "   name="Stop"  
  Onclick="StopClick()">  
  </form>  
  相应的JavaScript代码为:  
  <script   language="javascript">  
  <!--  
  var   g_Browser   =   navigator.appName;  
  function   controlType   (setting)  
  {  
  if   (g_Browser   ==   "Netscape")  
  document.WMPlay.SetShowControls(setting);  
  else  
  document.WMPlay.ShowControls   =   setting;  
  }  
  function   displaySize   (setting)  
  {  
  if   (g_Browser   ==   "Netscape")  
  document.WMPlay.SetDisplaySize(setting);  
  else  
  document.WMPlay.DisplaySize   =   setting;  
  }  
  function   PlayClick   ()  
  {  
  document.WMPlay.Play();  
  }  
  function   StopClick   ()  
  {  
  document.WMPlay.Stop();  
  if   (g_Browser   ==   "Netscape")  
  document.WMPlay.SetCurrentPosition(0);  
  else  
  document.WMPlay.CurrentPosition   =   0;  
  }  
  function   PauseClick   ()  
  {  
  document.WMPlay.Pause();  
  }  
  function   PlayPauseClick   ()  
  {  
  var   state;  
  if   (g_Browser   ==   "Netscape")  
  state   =   document.WMPlay.GetPlayState();  
  else  
  state   =   document.WMPlay.PlayState;  
  if   (state   ==   0)  
  document.WMPlay.Play();  
  else   if   (state   ==   1)  
  document.WMPlay.Play();  
  else   if   (state   ==   2)  
  document.WMPlay.Pause();  
   
  }  
  //-->  
  </script>  
  从这个例子可以看出当用户单即其中的某个按钮时,它对应的OnClick函数将被调用。在JavaScript函数中,可以直接用WMPlay来控制播放器的活动,比如开始播放,停止播放或占停播放,以及放大缩小等。  
  除了可以用动作比如鼠标的动作来对嵌入的Media   Player进行控制外,还可以利用事件来对其进行控制。Microsoft?   Windows   Media?   Player   支持的事件很多,有普通的鼠标事件,比如鼠标的单击、双击、鼠标的移动、鼠标键的按下与松开等,也有一些是Media   Player特有的事件。与流播放有直接关系的事件有:OpenStateChange,PlayStateChange,Buffering,MarkerHit,ScriptCommand等。下面我们对这几个重要的事件做简单地介绍。  
   
  1   OpenStateChange   事件  
  OpenStateChange   事件表示Player的状态已经发生了改变。Media   Player的打开状态有:  
  0   表示流已经关闭(nsClosed)  
  1   表示正在装入ASX文件(nsLoadingASX)  
  2   表示正在装入NSC文件(nsLoadingNSC)  
  3   表示正在寻找Media   Server   (nsLocating)  
  4   表示正在与Media   Server建立连接(nsConnecting)  
  5   表示正在打开或侦听流信息(nsOpening)  
  6   表示流信息已经打开(nsOpen)  
  用JavaScript处理OpenStateChange事件的格式如下:  
  <SCRIPT   FOR="MediaPlayer"   EVENT="OpenStateChange(lOldState,   lNewState)"  
  LANGUAGE="JScript">  
  //insert   script   commands//  
  </SCRIPT>  
  其中MediaPlayer是在<OBJECT></OBJECT>中定义的Media   Player对象时的名字。  
   
  2   PlayStateChange   事件  
  PlayStateChange   事件表示Media   Player的播放状态已经改变,Media   Player可能的状态有:  
  0   播放已经停止(mpStopped)  
  1   播放暂停(mpPaused   )  
  2   正在播放(mpPlaying)  
  3   正在等待流开始(mpWaiting)  
  4   向前搜索(mpScanForward)  
  5   向后搜索(mpScanReverse)  
  6   向前跳跃(mpSkipForward)  
  7   向后跳跃(mpSkipReverse)  
  8   流已经关闭(mpClosed)  
  用JavaScript处理该事件的方法为:  
  <SCRIPT   FOR="MediaPlayer"   EVENT="PlayStateChange(lOldState,   lNewState)"  
  LANGUAGE="JScript">  
  //insert   script   commands//  
  </SCRIPT>  
  3   Buffering   事件  
  Buffering事件表示Media   Player正在缓冲数据准备播放。在进行流播放之前,Media   Player必须要缓冲一定数量的数据之后才开始播放,Buffering事件反映了Player缓冲数据的状况。用JavaScript处理Buffering事件的方法为:  
  <SCRIPT   FOR="MediaPlayer"   EVENT="Buffering(bStart)"   LANGUAGE="JScript">  
  //insert   script   commands//  
  </SCRIPT>  
  其中bStart为一个布尔变量,当它为TRUE时表示缓冲正在进行,反之表示缓冲已经结束。  
   
  4   ScriptCommand   事件  
  ScriptCommand事件表示Media   Player接收到了Script   命令,这时用户可以利用对接收到Script命令进行分析以决定采取相应的处理。我们知道利用Media   Tools的ASF   Indexer工具可以给流添加Script命令,当流播放器Player接收到这些Script   命令时会激活这个事件处理方法,于是用户可以在事件处理方法中对Script命令进行处理。处理ScriptCommand的方法是:  
  <SCRIPT   FOR="MediaPlayer"   EVENT="ScriptCommand(sType,   sParam)"  
  LANGUAGE="JScript">  
  //insert   script   commands//  
  </SCRIPT>  
  其中sType是Script命令的类型,Script命令的类型有URL,TEXT,EVENT等,用户可以根据Script命令类型的不同做不同的处理。比如,如果是URL命令,我们可以在指定的帧内打开sParam中指定的页面。  
   
  5   MarkHit   事件  
  MarkerHit事件同ScritpCommand事件一样,当媒体播放器在ASF流中遇到标记时会激活该事件,用户利用该事件可以知道当前的标记是第几个标记。MarkerHit事件的处理方法是:  
  <SCRIPT   FOR="MediaPlayer"   EVENT="MarkerHit(lMarkerNum)"   LANGUAGE="JScript">  
  //insert   script   commands//  
  </SCRIPT>  
  当然,除了支持事件处理之外,做为一个ActiveX对象,Media   Player还有很多的属性(Property)和方法(Method)可以供Web页使用。比如用MediaPlayer.MarkerCount   属性可以知道在ASF流中到底有多少个标记;利用MediaPlayer.   CurrentPosition属性可以知道当前播放位置的时间等等。至于Media   Player对象的方法我们在前面已经使用了很多,比如Play(),   Pause()等均是Media   Player的方法。由于Media   Player对象的属性和方法太多,我们不可能在此一一介绍,而只是对几个较为重要的事件处理做了一定的介绍。用户在使用时可以参考Media   Player   SDK的帮助文档以获取更多的信息。  
  本文对Media   Service的客户应用程序Media   Player的使用,特别是在Web页中的使用做了简单的介绍。作为一个通用的媒体播放器,它还有很多的功能这里没有介绍,要了解一个软件的功能,最好的方法就是使用它。用户如果感兴趣可以从http://www.windowsmedia.com/上去免费下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值