□音频控制 媒体播放器提供了下面的属性来管理音频: Balance 属性,确定左右音箱的声音平衡; Volume 属性,用来加大或降低音量; Mute 属性,用来关闭或打开声音; ※你可以将 ShowAudioControls 属性设为 true 来在控制栏添加处理声音的控件。
□扫描 媒体播放器提供了下面的属性用以扫描: FastForward 方法,快进; FastReverse 方法,快倒; Rate属性,改变播放速率; ※要想使电影剪辑能被扫描,必须将 CanScan 和 AllowScan 属性设为 true。
□搜索 用于搜索的属性有: MarkerCount 属性,指剪辑中标记的总数量; CurrentMaker、GetMarkerName、GetMarkerTime 方法,用于返回标记信息; MarkerHit 事件,当遇到标记时触发; CurrentPosition 属性,当前位置(用秒度量),可用来将播放头移到剪辑中指定的点; PositionChange 事件,当设置 CurrentPosition 属性时触发; ※要想搜索到任意的时间,必须将 CanSeek 属性设为 true,要想搜索到标记点,必须将 CanSeekToMarkers 属性设为 true。
□媒体播放器的外观界面 在网页中,你可以通过相关属性来控制媒体播放器的哪些部分出现,哪些部分不出现。 媒体播放器包括如下元素: Video Display Panel:视频显示面板; Video Border:视频边框; Closed Captioning Display Panel;字幕显示面板; Track Bar;搜索栏; Control Bar with Audio and Position Controls:带有声音和位置控制的控制栏; Go To Bar:转到栏; Display Panel:显示面板; Status Bar:状态栏; 下面的属性用来决定显示哪一个元素: ShowControls 属性:是否显示控制栏(包括播放控件及可选的声音和位置控件); ShowAudioControls 属性:是否在控制栏显示声音控件(静音按钮和音量滑块); ShowPositionControls 属性:是否在控制栏显示位置控件(包括向后跳进、快退、快进、向前跳进、预览播放列表中的每个剪辑); ShowTracker 属性:是否显示搜索栏; ShowDisplay 属性:是否显示显示面板(用来提供节目与剪辑的信息); ShowCaptioning 属性:是否显示字幕显示面板; ShowGotoBar 属性:是否显示转到栏; ShowStatusBar 属性:是否显示状态栏;
□播放列表 媒体播放器提供下面的方法来访问播放列表中的剪辑: Next 方法,跳到节目(播放列表)中的下一个剪辑; Previous 方法,跳回到节目中的上一个剪辑; 媒体播放器的一个特性是能够预览节目中的每一个剪辑,使用如下属性: PreviewMode 属性,决定媒体播放器当前是否处于预览模式; CanPreview 属性,决定媒体播放器能否处于预览模式; 在windows 媒体元文件中,可以为每一个剪辑指定预览时间——PREVIEWDURATION,如果没有指定,那么默认的预览时间是10秒钟。 你也可以用Windows 媒体元文件来添加 watermarks 与 banners,元文件也支持插入广告时的无间隙流切换。
□节目信息 使用 GetMediaInfoString 方法可以返回相关剪辑或节目的如下信息: 文件名:File name 标题:Title 描述:Description 作者:Author 版权:Copyright 级别:Rating URLs:logo icon、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:指定媒体播放器对该类型的错误进行校正;
□播放CD 媒体播放器将 CD 看作(在每个音轨的开头具有标记的)单一音频流。 要在网页中使用CD,你需要将 FileName 属性设为 CDAUDIO:,必须带有冒号,如下所示: 复制内容到剪贴板 代码: <HTML> <HEAD><TITLE>CD Audio Playback Example</TITLE></HEAD> <BODY> <OBJECT ID="MediaPlayer" CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" WIDTH="320" HEIGHT="508" STYLE="position:absolute; left:0px; top:70px;" > <PARAM NAME="FileName" value="/cdaudio:"> <PARAM NAME="AutoStart" VALUE="0"> <PARAM NAME="ShowControls" VALUE="1"> <PARAM NAME="ShowStatusBar" VALUE="1"> <PARAM NAME="ShowDisplay" VALUE="1"> </OBJECT> </BODY> </HTML> 之后你可以用 Play 方法播放 CD 了。 你可以在 windows 媒体元文件中指定播放顺序以及每个音轨的信息。示例如下: 复制内容到剪贴板 代码: <ASX VERSION="3.0"> <TITLE>CD Audio with the Media Player</TITLE> <AUTHOR>Windows Media Technologies</AUTHOR> <COPYRIGHT>(c) 1999, Microsoft, Inc.</COPYRIGHT>
<ENTRY> <TITLE>Track 1: Title 1</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="1"/> <ENDMARKER NUMBER="2"/> </ENTRY>
<ENTRY> <TITLE>Track 2: Title 2</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="2"/> <ENDMARKER NUMBER="3"/> </ENTRY>
<ENTRY> <TITLE>Track 3: Title 3</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="3"/> <ENDMARKER NUMBER="4"/> </ENTRY>
<ENTRY> <TITLE>Track 4: Title 4</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="4"/> </ENTRY> </ASX>
(责任编辑:admin) |