媒体播放器的外观界面

媒体播放器的外观界面
在网页中,你可以通过相关属性来控制媒体播放器的哪些部分出现,哪些部分不出现。

  媒体播放器包括如下元素:

  VideoDisplayPanel:视频显示面板;
  VideoBorder:视频边框;
  ClosedCaptioningDisplayPanel;字幕显示面板;
  TrackBar;搜索栏;
  ControlBarwithAudioandPositionControls:带有声音和位置控制的控制栏;
  GoToBar:转到栏;
  DisplayPanel:显示面板;
  StatusBar:状态栏;

  下面的属性用来决定显示哪一个元素:

  ShowControls属性:是否显示控制栏(包括播放控件及可选的声音和位置控件);
  ShowAudioControls属性:是否在控制栏显示声音控件(静音按钮和音量滑块);
  ShowPositionControls属性:是否在控制栏显示位置控件(包括向后跳进、快退、快进、向前跳进、预览播放列表中的每个剪辑);
  ShowTracker属性:是否显示搜索栏;
  ShowDisplay属性:是否显示显示面板(用来提供节目与剪辑的信息);
  ShowCaptioning属性:是否显示字幕显示面板;
  ShowGotoBar属性:是否显示转到栏;
  ShowStatusBar属性:是否显示状态栏;

  播放列表

  媒体播放器提供下面的方法来访问播放列表中的剪辑:
  Next方法,跳到节目(播放列表)中的下一个剪辑;
  Previous方法,跳回到节目中的上一个剪辑;
  媒体播放器的一个特性是能够预览节目中的每一个剪辑,使用如下属性:
  PreviewMode属性,决定媒体播放器当前是否处于预览模式;
  CanPreview属性,决定媒体播放器能否处于预览模式;
  在windows媒体元文件中,可以为每一个剪辑指定预览时间——PREVIEWDURATION,如果没有指定,那么默认的预览时间是10秒钟。
  你也可以用Windows媒体元文件来添加watermarks与banners,元文件也支持插入广告时的无间隙流切换。

  节目信息

  使用GetMediaInfoString方法可以返回相关剪辑或节目的如下信息:
  文件名:Filename
  标题:Title
  描述:Description
  作者:Author
  版权:Copyright
  级别:Rating
  URLs:logoicon、watermark、banner的地址

  剪辑信息可以放在媒体文件中,也可以放在Windows媒体元文件中,或者两者都放。如果在元文件中指定了剪辑信息,那么用GetMediaInfoString方法返回的就是元文件中的信息,而不会返回剪辑中包含的信息。
  在元文件中,附加信息可以放置在每一个剪辑或节目的PARAM标签中。你可以为每个剪辑添加任意多个PARAM标签,用来存储自定义的信息或链接到相关站点。在PARAM标签中的信息可以通过GetMediaParameter方法来访问。
  下面的属性返回有关大小和时间的信息:

  ImageSourceHeight、ImageSourceWidth:返回图像窗口的显示尺寸;

  Duration属性,返回剪辑的长度(秒),要检测这个属性是否包含有效的数值,请检查IsDurationValid属性。(对于广播的视频,其长度是不可预知的)。
  字幕

  你可以用.smi文件来为你的节目添加字幕。媒体播放器支持下面的属性来处理字幕:
  SAMIFileName属性,指定.smi文件的名字;
  SAMILang属性,指定字幕的语言(如果没有指定则使用第一种语言);
  SAMIStyle属性,指定字幕的文字大小和样式;
  ShowCaptioning属性,决定是否显示字幕显示面板;

  脚本命令

  伴随音频、视频流,你可以在流媒体文件中加入脚本命令。脚本命令是多媒体流中与特定时间同步的多对Unicode串。第一个串标识待发命令的类型,第二个串指定要执行的命令。
  当流播放到与脚本相关的时间时,控件会向网页发送一个ScriptCommand事件,然后由事件处理进程来响应这个事件。脚本命令字符串会作为脚本命令事件的参数传递给事件处理器。
  媒体播放器会自动处理下面类型的内嵌脚本命令:

  1)URL型命令:当媒体播放器控件收到一个URL型的命令时,指定的URL会被装载到用户的默认浏览器。如果媒体播放器嵌在一个分帧的HTML文件中,URL页可以装载到由脚本命令指定的帧内。如果脚本命令没有指定一个帧,将由DefaultFrame属性决定将URL页装入哪一帧。
  你可以通过设置InvokeURLs属性来决定是否自动处理URL型的脚本命令。如果这个属性的值为false,媒体播放器控件将忽视URL型命令。但是脚本命令事件仍会触发,这就允许你有选择地处理URL型命令。
  URL型命令指定的是URL的相对地址。基地址是由BaseURL属性指定的。媒体播放器控件传送的脚本命令事件的命令参数是链接好的地址。
  2)FILENAME型命令:当媒体播放器控件收到一个FILENAME型的命令时,它将FileName属性设置为脚本命令提供的文件,之后媒体播放器会打开这个文件开始播放。媒体播放器控件总是自动处理FILENAME型命令,不象URL型命令,它们不能被禁止。
  3)TEXT型命令:当媒体播放器控件收到一个TEXT型的命令时,它会将命令的内容显示在控件的字幕窗口。内容可以是纯文本的,也可以是HTML。
  4)EVENT型命令:当媒体播放器控件收到一个EVENT型的命令时,它会在媒体元文件中搜索EVENT元素的NAME属性。如果NAME属性与脚本命令中的第二个字符串匹配,媒体播放器控件就执行包含在EVENT元素中的条目。
  5)OPENEVENT型命令:当媒体播放器控件收到一个OPENEVENT型的命令时,它会在媒体元文件中检查EVENT元素,并打开匹配的标题,但不播放,直到收到来自EVENT型命令的同名真实事件。
  捕捉键盘和鼠标事件
  EnableContextMenu与ClickToPlay属性为用户提供了在图像窗口进行操作的方法。

  如果EnableContextMenu属性为true,在图像窗口右击鼠标可以打开关联菜单,如果将ClickToPlay属性设为true,用户可以单击图像窗口进行播放与暂停的切换。
  要接收鼠标移动和单击事件,请将SendMouseMoveEvents和SendMouseClickEvents属性设为true。鼠标事件有:
  MouseDown,当用户按下鼠标时产生;
  MouseUp,当用户释放鼠标时产生;
  MouseMove,当用户移动鼠标时产生;
  Click,当用户在媒体播放器上单击鼠标按钮时产生;
  DbClick,当用户在媒体播放器上双击鼠标按钮时产生;
  要接收键盘事件,请将SendKeyboardEvents属性设为true。键盘事件有:
  KeyDown,当用户按下一个键时产生;
  KeyUp,当用户释放一个键时产生;
  KeyPress,当用户按下并释放一个键时产生;
  监测流状态与网络链接
  流状态属性包括:
  PlayState:播放状态;
  OpenState:打开状态;
  Bandwidth:带宽;
  支持的事件有:
  OpenStateChange:打开状态改变(仅当SendOpenStateChangeEvents属性为true时触发)
  PlayStateChange:播放状态改变(仅当SendPlayStateChangeEvents属性为true时触发)
  EndOfStream:流结束时触发;
  NewStream:打开新流时触发;
  网络接收属性包括:
  ReceptionQuality:接收质量;
  ReceivedPackets:已经收到的包;
  LostPackets:丢失的包;
  监测缓冲的属性有:
  BufferingTime:缓冲时间;
  BufferingCount:缓冲次数;
  BufferingProgress:缓冲进程;
  Buffering:缓冲事件;
  错误处理
  媒体播放器提供了内建的错误处理功能——在对话框或状态栏显示错误信息。另外,你可以自己添加错误处理程序。如果SendErrorEvents属性设置为true,将不会显示错误框,而是发送错误事件;如果SendErrorEvents属性设置为false,将显示错误框,而是发送错误事件。
  媒体播放器支持下面的错误处理事件:
  Error事件,指有危险性错误发生;
  Warning事件,指发生了非危险性的错误;
  当你的应用程序接收到一个错误事件,你可以检测下面的属性来确定具体的错误信息:
  HasError:检测目前的媒体播放器是否有错误;
  ErrorCode:提供与该类型错误相关的代码值;
  ErrorDescription:提供错误的描述信息;
  ErrorCorrection:指定媒体播放器对该类型的错误进行校正;

互联网技术教程

上一篇:

下一篇: