常用网页播放器代码

我们在网页上看到的播放器无外乎WMP/RealOne/Macromedia Flash Player,其他的无非是面板不同,或者添加了其他控件,对于计算机上安装的一些播放器也都是编码和解码器的整合,其最核心的编码和解码技术是相同的。 例如:网络上最流行的windows media流(asf,wma,wmv格式...),Real流(rm,rmvb...),还有MPEG系列编码格式(MP4/MP3格式...)
Windows Media Video 是微软推出的一种流媒体格式,它是在“同门”的ASF(Advanced Stream Format)格式升级延伸来得.在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。Windows Media Player9兼容所有格式的WMV,官方编码器是Windows Media Encoder ,但是如果你想转制 高质量的wmv文件,那您一定要有超大的内存来处理数据...
无意中发现CASTPOST的播放器可以自己定义大小,对于WMV格式的在线播放可以说已经足够快了,然后就费了好大劲把一些精彩的短片和一些经典的MTV转化WMV格式放了上来,尽管现在不能下载了,但是只要不是连接人数过多,播放起来还是很流畅的^_^

WMP加入了ActiveX解码器控件,不仅可以放曲子,还能放Flash和其它视频文件
< object  align =middle  classid ="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"  class =OBJECT  id =MediaPlayer  width =196  height =196 >  
< param  name =ShowStatusBar  value =0 >  
< param  name =Filename  value ="http://202.116.*.*/video/story/chinese/hynh/b.wmv" >  
< embed  type =application/x-oleobject  codebase ="http://activex.microsoft.com/activex/con ... n/nsmp2inf.cab#Version=5,1,52,701"   >  
</ embed >  
</ object >  
想用WMP连续播放请参照ASX元文件使用讲解:使用ASX播放列表吧

上面的这个播放器是老式的那种,6.4版本!新式播放器是在MediaPlayer9.0以后出现的,也就是说只有装了9.0或9.0以上的播放器才能正常使用的。


--------------------------------------------------------------------------------


下面是新式播放器代码,相对以前的来说要简单很多:
< object  id ="player"  height ="64"  width ="260"  classid ="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" >  
< param  NAME ="AutoStart"  VALUE ="-1" >  
<!-- 是否自动播放 -->  
< param  NAME ="Balance"  VALUE ="0" >  
<!-- 调整左右声道平衡,同上面旧播放器代码 -->  
< param  name ="enabled"  value ="-1" >  
<!-- 播放器是否可人为控制 -->  
< param  NAME ="EnableContextMenu"  VALUE ="-1" >  
<!-- 是否启用上下文菜单 -->  
< param  NAME ="url"  value ="/blog/1.wma" >  
<!-- 播放的文件地址 -->  
< param  NAME ="PlayCount"  VALUE ="1" >  
<!-- 播放次数控制,为整数 -->  
< param  name ="rate"  value ="1" >  
<!-- 播放速率控制,1为正常,允许小数,1.0-2.0 -->  
< param  name ="currentPosition"  value ="0" >  
<!-- 控件设置:当前位置 -->  
< param  name ="currentMarker"  value ="0" >  
<!-- 控件设置:当前标记 -->  
< param  name ="defaultFrame"  value ="" >  
<!-- 显示默认框架 -->  
< param  name ="invokeURLs"  value ="0" >  
<!-- 脚本命令设置:是否调用URL -->  
< param  name ="baseURL"  value ="" >  
<!-- 脚本命令设置:被调用的URL -->  
< param  name ="stretchToFit"  value ="0" >  
<!-- 是否按比例伸展 -->  
< param  name ="volume"  value ="50" >  
<!-- 默认声音大小0%-100%,50则为50% -->  
< param  name ="mute"  value ="0" >  
<!-- 是否静音 -->  
< param  name ="uiMode"  value ="mini" >  
<!-- 播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示 -->  
< param  name ="windowlessVideo"  value ="0" >  
<!-- 如果是0可以允许全屏,否则只能在窗口中查看 -->  
< param  name ="fullScreen"  value ="0" >  
<!-- 开始播放是否自动全屏 -->  
< param  name ="enableErrorDialogs"  value ="-1" >  
<!-- 是否启用错误提示报告 -->  
< param  name ="SAMIStyle"  value >  
<!-- SAMI样式 -->  
< param  name ="SAMILang"  value >  
<!-- SAMI语言 -->  
< param  name ="SAMIFilename"  value >  
<!-- 字幕ID -->  
</ object >  

--------------------------------------------------------------------------------


RealOne播放器代码:
< object  id ="vid"  classid ="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  width =427  height =300 >  
< param  name ="_ExtentX"  value ="11298" >  
< param  name ="_ExtentY"  value ="7938" >  
< param  name ="AUTOSTART"  value ="-1" >  
< param  name ="SHUFFLE"  value ="0" >  
< param  name ="PREFETCH"  value ="0" >  
< param  name ="NOLABELS"  value ="-1" >  
< param  name ="SRC"  value ="rtsp://211.89.225.1/encoder/cnr3" ; >  
< param  name ="CONTROLS"  value ="Imagewindow" >  
< param  name ="CONSOLE"  value ="clip1" >  
< param  name ="LOOP"  value ="0" >  
< param  name ="NUMLOOP"  value ="0" >  
< param  name ="CENTER"  value ="0" >  
< param  name ="MAINTAINASPECT"  value ="0" >  
< param  name ="BACKGROUNDCOLOR"  value ="#000000" >  
</ object >   < object  id ="vid2"  classid ="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  width =427  height =30 >  
< param  name ="_ExtentX"  value ="11298" >  
< param  name ="_ExtentY"  value ="794" >  
< param  name ="AUTOSTART"  value ="-1" >  
< param  name ="SHUFFLE"  value ="0" >  
< param  name ="PREFETCH"  value ="0" >  
< param  name ="NOLABELS"  value ="-1" >  
< param  name ="SRC"  value ="rtsp://211.89.225.1/encoder/cnr3" ; >  
< param  name ="CONTROLS"  value ="ControlPanel" >  
< param  name ="CONSOLE"  value ="clip1" >  
< param  name ="LOOP"  value ="0" >  
< param  name ="NUMLOOP"  value ="0" >  
< param  name ="CENTER"  value ="0" >  
< param  name ="MAINTAINASPECT"  value ="0" >  
< param  name ="BACKGROUNDCOLOR"  value ="#000000" >  
</ object >  
--------------------------------------------------------------------------------

看着很多很复杂的样子,其实就是多了些播放器参数,可以不要...
Real Player 网页播放器 参数含义

参数:autostart 属性:True或是False 作用:指定是否自动播放指定的源文件
参数:backgroundcolor 属性:任何用符号“#”开头的16进制数值或是任何预定义的颜色作用:指定图像窗口的背景颜色
参数:center 属性:True或是False 作用:指定片断使用初始编码大小播放,并且在图像窗口的中央。
参数:classid 属性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AFBBCCFA:** 作用:用于指定ActiveX控件的唯一的字符串标示,可以认出嵌入的RealPalyer播放器。
参数:console 属性:任何字符串作用:可以将各种不同的RealPlayer控制聚集在网页上,这样它们可以交互使用或是保持独立,而且互相不影响
参 数:controls 属性:ImageWindow,All,ControlPanel,PlavButton,PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider, PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,InfoPanel,StatusBar, StatusField,PositionField 作用:可以让你指定那些控制是可见的。
参数:height 属性:任何整数值作用:指定RealPlayer元素的高度,单位:像素
参数:id 属性:任何字符串作用:为标签中的RealPlayer元素指定名字。
参数:imagestatus 属性:True或是False 作用:指定是否在图像窗口中显示状态信息,默认值是true
参数:loop 属性:True或是False 作用:可以让你指定片断是否无限循环
参数:maintainaspect 属性:True或是False 作用:默认RealPlayer拉伸所有的片断来充满整个图像窗口。
参数:name 属性:任何字符串作用:为标签中的RealPlayer元素指定名字(在标签中使用id)
参数:nojava 属性:True或是False 作用:避免启动Java虚拟机
参数:nolabels 属性:True或是False 作用:可以禁止显示标题或是版权信息(realplayer5.0以上时,它是垃圾...)
参数:nologo 属性:True或是False 作用:避免RealPlayer启动时在图像窗口中显示
参数:numloop 属性:任何整数值作用:让你能够指定文件片循环的次数,不需要参数loop
参数:prefetch 属性:True或是False 作用:指定在播放前,RealPlayer是否可以获得流描述信息,默认值是False
参数:region 属性:任何字符串作用:同SMIL一起使用。允许你指定使用HTML代替SMIL
参数:scriptcallbacks 属性:用逗号分割的列表作用:指定浏览器的回调监控(好高级的东东!)
参数:shuffle 属性:True或是False 作用:同多文件片的ram文件或是SMIL文件一起使用。可以让RealPlayer随机播放列表中的文件
参数:src 属性:任何合法的相对或是完整的URL 作用:指定播放的文件或是源文件的地址
参数:type 属性:字符串作用:为嵌入插件指定MIME类型
参数:width 属性:任何整数值作用:指定RealPlayer元素的宽度

RealPlayer的一些函数、方法和过程

这是 Real Player ActiveX Control Library (Version 1.0) 的所有函数与方法,有兴趣可以研究一下。

function GetSource: WideString;
procedure SetSource(const lpszNewValue: WideString);
function GetConsole: WideString;
procedure SetConsole(const lpszNewValue: WideString);
function GetControls: WideString;
procedure SetControls(const lpszNewValue: WideString);
function GetNoLabels: WordBool;
procedure SetNoLabels(bNewValue: WordBool);
function GetAutoStart: WordBool;
procedure SetAutoStart(bNewValue: WordBool);
function GetAutoGotoURL: WordBool;
procedure SetAutoGotoURL(bNewValue: WordBool);
function GetVolume: Smallint;
procedure SetVolume(nVol: Smallint);
function GetMute: WordBool;
procedure SetMute(bMute: WordBool);
function GetLoop: WordBool;
procedure SetLoop(bVal: WordBool);
function GetImageStatus: WordBool;
procedure SetImageStatus(bEnable: WordBool);
function GetPacketsTotal: Integer;
function GetPacketsReceived: Integer;
function GetPacketsOutOfOrder: Integer;
function GetPacketsMissing: Integer;
function GetPacketsEarly: Integer;
function GetPacketsLate: Integer;
function GetBandwidthAverage: Integer;
function GetBandwidthCurrent: Integer;
procedure DoPlayPause;
procedure DoStop;
procedure DoNextItem;
procedure DoPrevItem;
function CanPlayPause: WordBool;
function CanStop: WordBool;
function HasNextItem: WordBool;
function HasPrevItem: WordBool;
function HasNextEntry: WordBool;
function HasPrevEntry: WordBool;
procedure DoNextEntry;
procedure DoPrevEntry;
procedure AboutBox;
procedure EditPreferences;
procedure HideShowStatistics;
function IsStatisticsVisible: WordBool;
procedure DoGotoURL(const url: WideString; const target: WideString);
procedure DoPlay;
procedure DoPause;
function GetPosition: Integer;
function GetPlayState: Integer;
function GetLength: Integer;
function GetTitle: WideString;
function GetAuthor: WideString;
function GetCopyright: WideString;
function GetClipWidth: Integer;
function GetClipHeight: Integer;
function CanPlay: WordBool;
function CanPause: WordBool;
procedure SetPosition(lPosition: Integer);
function GetNumLoop: Integer;
procedure SetNumLoop(lVal: Integer);
function GetCenter: WordBool;
procedure SetCenter(bVal: WordBool);
function GetNoLogo: WordBool;
procedure SetNoLogo(bVal: WordBool);
function GetMaintainAspect: WordBool;
procedure SetMaintainAspect(bVal: WordBool);
function GetBackgroundColor: WideString;
procedure SetBackgroundColor(const pVal: WideString);
function GetStereoState: WordBool;
function GetLiveState: WordBool;
function GetShowStatistics: WordBool;
procedure SetShowStatistics(bVal: WordBool);
function GetShowPreferences: WordBool;
procedure SetShowPreferences(bVal: WordBool);
function GetShowonmouseover WordBool;
procedure SetShowAbout(bVal: WordBool);
function GetOriginalSize: WordBool;
procedure SetOriginalSize;
function GetDoubleSize: WordBool;
procedure SetDoubleSize;
function GetFullScreen: WordBool;
procedure SetFullScreen;
function GetEnableContextMenu: WordBool;
procedure SetEnableContextMenu(bVal: WordBool);
function GetEnableOriginalSize: WordBool;
procedure SetEnableOriginalSize(bVal: WordBool);
function GetEnableDoubleSize: WordBool;
procedure SetEnableDoubleSize(bVal: WordBool);
function GetEnableFullScreen: WordBool;
procedure SetEnableFullScreen(bVal: WordBool);
function GetEnableMessageBox: WordBool;
procedure SetEnableMessageBox(bVal: WordBool);
procedure SetTitle(const pVal: WideString);
procedure SetAuthor(const pVal: WideString);
procedure SetCopyright(const pVal: WideString);
function GetWantKeyboardEvents: WordBool;
procedure SetWantKeyboardEvents(bWantsEvents: WordBool);
function GetWantMouseEvents: WordBool;
procedure SetWantMouseEvents(bWantsEvents: WordBool);
function GetNumEntries: Smallint;
function GetCurrentEntry: Smallint;
function GetEntryTitle(uEntryIndex: Smallint): WideString;
function GetEntryAuthor(uEntryIndex: Smallint): WideString;
function GetEntryCopyright(uEntryIndex: Smallint): WideString;
function GetEntryAbstract(uEntryIndex: Smallint): WideString;
procedure SetCanSeek(bCanSeek: WordBool);
function GetCanSeek: WordBool;
function GetBufferingTimeElapsed: Integer;
function GetBufferingTimeRemaining: Integer;
function GetConnectionBandwidth: Integer;
function GetPreferedLanguageString: WideString;
function GetPreferedLanguageID: Integer;
function GetUserCountryID: Integer;
function GetNumSources: Smallint;
function GetSourceTransport(nSourceNum: Smallint): WideString;
function GetWantErrors: WordBool;
procedure SetWantErrors(bVal: WordBool);
function GetShuffle: WordBool;
procedure SetShuffle(bVal: WordBool);
function GetVersionInfo: WideString;
function GetLastMessage: WideString;
function GetLastErrorSeverity: Integer;
function GetLastErrorRMACode: Integer;
function GetLastErrorUserCode: Integer;
function GetLastErrorUserString: WideString;
function GetLastErrorMoreInfoURL: WideString;
procedure SetPreFetch(bVal: WordBool);
function GetPreFetch: WordBool;
procedure SetRegion(const pVal: WideString);
function GetRegion: WideString;
function GetIsPlus: WordBool;
function GetConsoleEvents: WordBool;
procedure SetConsoleEvents(bVal: WordBool);
function GetDRMInfo(const pVal: WideString): WideString;
property ControlInterface: IRealAudio read GetControlInterface;
property DefaultInterface: IRealAudio read GetControlInterface;

网页中wmp视频控制之使用指南

//wmplayer.controls.currentPosition = wmplayer.currentMedia.duration * (i / 100)
//
//
//
□播放方法和属性
除播放、暂停、停止外,媒体播放器还可用下面的属性:
扫描(Scanning)——与录像机的快进快倒功能类似;
搜索(Seeking)——直接移到剪辑中标记的特定上演时间;

□播放
媒 体播放器提供了两种技术来指定要播放的媒体名称(剪辑),你可以设置 FileName 属性,或调用 Open 方法。 如果 AutoStart 属性的值是 true 的话,当 FileName 属性被设置成该电影剪辑的 URL 后,该电影剪辑将开始播放;否则电影剪辑不会开始播放, 除非你调用 Play 方法。 Open 方法开始播放是异步的,它不象 Play 方法要等到其他的进程结束后才开始播放。
媒体播放器提供了下面的类似录像机的属性和方法来控制流媒体的播放:
Play、Stop、Pause 方法,来开始、停止、暂停流媒体。
PlayCount 属性,设置文件播放的次数。
AutoRewind 属性,确定当停止播放时是否返回到电影剪辑的开始部分。

□音频控制
媒体播放器提供了下面的属性来管理音频:
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 媒体元文件中,或者两者都放。

剪辑信息可以放在媒体文件中,也可以放在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:带宽;

监测流状态与网络链接
流状态属性包括:
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 >  
WMP、Real 的方法、事件和属性都很多,这里只列出一些常用同时又是最基本与重要的方法及属性。学习制作网页播放器必须首先熟练掌控她们!
图片点击可在新窗口打开查看
她 们真的非常重要。一个网页播放器,不管如何变化多端,都是这些方法、事件和属性衍生的功能延伸,如快进、快退,左、右声道,截取片段,重复、循环、随机播 放,拖放,点播,进度条滚动,时间正序、倒序及上一首、下一首、第一首、末一首等等。这里需要说明的是,上面 Windows Media Player 的方法属性是针对 WMP 6.4 以上版本而言,6.4 以下版本的某些地方如全屏等是不同而有区别的。
简单的网页播放器谱乐在前面的专题中已列举了许多实例。即在 HTML 代码中插入:
<object classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"> 
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx">// 参数 url 定义播放媒体的路径。 
<param name = ……>// 还有很多这样的参数,都具有重要的功用! 
…… 
</object> 
上面是播放音频的代码,播放视频的只需在<object ……>中插入 width = "205" height = "100" 确定视频区域的宽、高即可,宽高比有 4:3、16:9 两种模式。 
若再插入 type = "application/x-oleobject" 的代码,即可播放 SWF 等 Flash 类和 jpg、gif、png、bmp 等图片类媒体。 
上述综合代码就是: 
<object classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width = "205" height = "100" type = "application/x-oleobject"> 
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx"> 
<param name = ……> 
…… 
</object> 
这里 "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" 是 WMP 6.4 以上版本控件,6.4 以下版本控件代码是 "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"。两者在参数等方面的定义上是有许多差异的!

windows Media Player 9.0网页播放器

(mp3.wma.wmv.asf)

以下图片为一般播mp3.wma文件时调用windows自带播放器windows Midia Player9.0所显示外观,非9.0版所显示的面板外观可能不同!

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

代码简介:

width(播放器面板宽度)

height(播放器面板高度)

autostart(自动播放,“=1”或“=true”即是功能有效,“=0”即是手动播放)

loop(循环播放,“=2”即是循环播放两次,“=-1”或“=true”即是无限次循环播放)

<script type="text/javascript"> //图片自动调整的模式,1为按比例调整 ,2 按大小调整。 var resizemode=1 function imgresize(o){ if (resizemode==2 || o.onmousewheel){ if(o.width > 500 ){ o.style.width='500px'; } if(o.height > 800){ o.style.height='800px'; } }else{ var parentNode=o.parentNode.parentNode if (parentNode){ if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%'; }else{ var parentNode=o.parentNode if (parentNode){ if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%'; } } } } </script>

可变值:false 或 0(手动开启);true 或 1(自动开启)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

(无文件信息显示)

银灰面板

<embed src="链接地址" width="300" height="45" loop="-1" autostart="true"></EMBED>

图片点击可在新窗口打开查看

灰白面板

<embed style="FILTER: Gray()" src="链接地址" width="300" height="45" loop="-1" autostart="true"></EMBED>

图片点击可在新窗口打开查看

棕色面板

<embed style="FILTER: invert()" src="链接地址" width=300 height=45 loop="-1" autostart="true"></EMBED>


图片点击可在新窗口打开查看

黑色面板

<embed style="FILTER: xray()" src="链接地址" width=300 height=45 loop="-1" autostart="true"></EMBED>

图片点击可在新窗口打开查看

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

(带显示文件播放信息)

<embed src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>

图片点击可在新窗口打开查看图片点击可在新窗口打开查看

灰白色面板

<embed style="FILTER: Gray()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>

图片点击可在新窗口打开查看图片点击可在新窗口打开查看

<embed style="FILTER: invert()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

<embed style="FILTER: xray()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

(显示文件标签信息)

<embed src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED> 

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

<embed style="FILTER: Gray()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED> 

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

<embed style="FILTER: invert()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

<embed style="FILTER: xray()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>

图片点击可在新窗口打开查看 图片点击可在新窗口打开查看

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

(有图像的media播放器)

<param name="volume" value="100">是调整默认音量的选项,100是最大音量!

< object  id ="mPlayer1"  width =300  height =300  classid ="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6" >
  
< param  name ="URL"  value ="链接地址" >
        
< param  name ="rate"  value ="1" >
        
< param  name ="balance"  value ="0" >
        
< param  name ="currentPosition"  value ="0" >
        
< param  name ="defaultFrame"  value >
        
< param  name ="playCount"  value ="100" >
        
< param  name ="autoStart"  value ="1" >
        
< param  name ="currentMarker"  value ="0" >
        
< param  name ="invokeURLs"  value ="1" >
        
< param  name ="baseURL"  value >
        
< param  name ="volume"  value ="100" >
        
< param  name ="mute"  value ="0" >
        
< param  name ="uiMode"  value ="full" >
        
< param  name ="stretchToFit"  value ="0" >
        
< param  name ="windowlessVideo"  value ="0" >
        
< param  name ="enabled"  value ="1" >
        
< param  name ="enableContextMenu"  value ="1" >
        
< param  name ="fullScreen"  value ="0" >
        
< param  name ="SAMIStyle"  value >
        
< param  name ="SAMILang"  value >
        
< param  name ="SAMIFilename"  value >
        
< param  name ="captioningID"  value >
        
< param  name ="enableErrorDialogs"  value ="0" >
        
< param  name ="_cx"  value ="7779" >
        
< param  name ="_cy"  value ="1693" >
      
</ object >



图片点击可在新窗口打开查看 

图片点击可在新窗口打开查看

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

以下三种加特效面板修改播放面板尺寸时,须将两组播放尺寸数值修改为一致才能正确显示。

如下例:width: 300px; HEIGHT: 300px"  width="300" height="300" 

 

光晕特效。

-----------------

opacity(不透明度)、finishopacity(平滑度)、style(风格类型)

style(风格类型):

“1”(强光偏左)、“2”(强光居中)、

“3”(方形发散强光)“4”(透明)

< embed  style ="filter:Alpha(opacity=10,finishOpacity=100,style=2); WIDTH: 300px; HEIGHT: 300px"  src ="链接地址"  width ="300"  height ="300"  type ="audio/mpeg"  volume ="100"  loop ="true"  autostart ="true"  showstatusbar ="1" ></ EMBED >

图片点击可在新窗口打开查看

波浪扭曲:

lightstrength(亮度)、strength(波幅)、freq(波频)

-----------------------------------------------------------------------

< embed  style ="FILTER: wave(add=0,lightstrength=10,strength=8,freq=20,phrase=30); WIDTH: 300px; HEIGHT: 300px"  src ="链接地址"  width ="300"  height ="300"  volume ="0"  loop ="true"  autostart ="true"  showstatusbar ="1" ></ EMBED >

图片点击可在新窗口打开查看

边缘雾化

-----------

< table  style ="FILTER: Alpha(Opacity=100, FinishOpacity=0, Style=2, StartX=20, StartY=40, FinishX=0, FinishY=0)gray(); WIDTH: 300px; HEIGHT: 45px" >
< TBODY >
< TR >
< TD >
< EMBED  style ="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid"  src ="链接地址"  width =300  height =45  type =audio/x-mplayer2  console ="video"  showstatusbar ="0"  EnableContextMenu ="0"  volume ="0"  autostart ="1"  loop ="-1" >
</ EMBED >
</ TD >
</ TR >
</ TBODY >
</ TABLE >
 
图片点击可在新窗口打开查看

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


RealPlayer网页播放面板

(rm.rmvb.ram)

音频播放器(无信息显示)

< OBJECT  id =video2  height =30  width =300  classid =CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA >
< PARAM  NAME ="_ExtentX"  VALUE ="13229" >
< PARAM  NAME ="_ExtentY"  VALUE ="847" >
< PARAM  NAME ="AUTOSTART"  VALUE ="-1" >
< PARAM  NAME ="SHUFFLE"  VALUE ="0" >
< PARAM  NAME ="PREFETCH"  VALUE ="0" >
< PARAM  NAME ="NOLABELS"  VALUE ="0" >
< PARAM  NAME ="SRC"  VALUE ="链接地址" >
< PARAM  NAME ="CONTROLS"  VALUE ="controlpanel" >
< PARAM  NAME ="CONSOLE"  VALUE ="Clip1" >
< PARAM  NAME ="LOOP"  VALUE ="0" >
< PARAM  NAME ="NUMLOOP"  VALUE ="0" >
< PARAM  NAME ="CENTER"  VALUE ="0" >
< PARAM  NAME ="MAINTAINASPECT"  VALUE ="0" >
< PARAM  NAME ="BACKGROUNDCOLOR"  VALUE ="#000000" >
</ OBJECT >

图片点击可在新窗口打开查看

音频播放器(显示播放数据)

< object  classid ="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  width ="300"  height ="50"  id ="RP2" >
     
< param  name ="_ExtentX"  value ="10001" >
     
< param  name ="_ExtentY"  value ="1270" >
     
< param  name ="AUTOSTART"  value ="-1" >
     
< param  name ="SHUFFLE"  value ="0" >
     
< param  name ="PREFETCH"  value ="0" >
     
< param  name ="NOLABELS"  value ="-1" >
     
< param  name ="SRC"  value ="链接地址" >
     
< param  name ="CONTROLS"  value ="ControlPanel,StatusBar" >
     
< param  name ="CONSOLE"  value ="clip1" >
     
< param  name ="LOOP"  value ="true" >
     
< param  name ="NUMLOOP"  value ="0" >
     
< param  name ="CENTER"  value ="0" >
     
< param  name ="MAINTAINASPECT"  value ="0" >
     
< param  name ="BACKGROUNDCOLOR"  value ="#000000" >
</ object >

 

 

图片点击可在新窗口打开查看

调整高度可变化面板

显示播放数据

< embed  src ="链接地址"  width ="300"  height ="60"  autostart ="true"  loop ="true" ></ EMBED >

图片点击可在新窗口打开查看

显示播放数据及文件信息

 

< embed  src ="链接地址"  width ="300"  height ="90"  autostart ="true"  loop ="true" ></ EMBED >



图片点击可在新窗口打开查看

视频播放器

面板分为上下两部分,所以上下分别需要输入链接、调整高宽度。
上部为显示屏,宽高一般为:300x240、400x320、500x400。
下部播放面板的宽度和上部一致即可,高度不必调整。

-----------------------------------------

 

< object  classid ="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  name ="player"  width ="300"  height ="240 d=" player" >
      
< param  name ="_ExtentX"  value ="10001" >
      
< param  name ="_ExtentY"  value ="6879" >
      
< param  name ="AUTOSTART"  value ="-1" >
      
< param  name ="SHUFFLE"  value ="0" >
      
< param  name ="PREFETCH"  value ="0" >
      
< param  name ="NOLABELS"  value ="-1" >
      
< param  name ="SRC"  value ="链接地址" >
      
< param  name ="CONTROLS"  value ="Imagewindow" >
      
< param  name ="CONSOLE"  value ="clip1" >
      
< param  name ="LOOP"  value ="true" >
      
< param  name ="NUMLOOP"  value ="0" >
      
< param  name ="CENTER"  value ="0" >
      
< param  name ="MAINTAINASPECT"  value ="0" >
      
< param  name ="BACKGROUNDCOLOR"  value ="#000000" >
</ object >  
< object  classid ="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  width ="300"  height ="50"  id ="RP2" >
      
< param  name ="_ExtentX"  value ="10001" >
      
< param  name ="_ExtentY"  value ="1270" >
      
< param  name ="AUTOSTART"  value ="-1" >
      
< param  name ="SHUFFLE"  value ="0" >
      
< param  name ="PREFETCH"  value ="0" >
      
< param  name ="NOLABELS"  value ="-1" >
      
< param  name ="SRC"  value ="链接地址" >
      
< param  name ="CONTROLS"  value ="ControlPanel,StatusBar" >
      
< param  name ="CONSOLE"  value ="clip1" >
      
< param  name ="LOOP"  value ="true" >
      
< param  name ="NUMLOOP"  value ="0" >
      
< param  name ="CENTER"  value ="0" >
      
< param  name ="MAINTAINASPECT"  value ="0" >
      
< param  name ="BACKGROUNDCOLOR"  value ="#000000" >
</ object >  

 

 图片点击可在新窗口打开查看

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javascript 播放器 控制 发表:不详 阅读: 37 次 关键字:不详 字体:[大 中 小] 详细参数可查询MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmplay/mmp_sdk/settingsobject.asp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link href="style/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> var state; //初始化 function playerinit() { player.url="mp3.m3u"; player.settings.autoStart = false ; } //播放 function play() { if (player.controls.isavailable('play')) { player.controls.play(); state=setInterval("updatetime()",1000); playerinfo.innerHTML = "播放"; } } //暂停 function pause() { if (player.controls.isavailable('pause')) { player.controls.pause(); clearInterval(state); playerinfo.innerHTML = "暂停"; } } //停止 function stop() { if (player.controls.isavailable('stop')) { player.controls.stop(); clearInterval(state); playerinfo.innerHTML = "停止"; } } //前首 function previous() { if (player.controls.isavailable( 'previous' )) { player.controls.previous(); playerinfo.innerHTML = "前一首"; } } //后首 function next() { if (player.controls.isavailable( 'next' )) { player.controls.next(); playerinfo.innerHTML = "下一首"; } } //? function step() { if (player.controls.isavailable( 'step' )) player.controls.step( 1 ); } //音量- function voldown() { if ( player.settings.volume < 5 ) { player.settings.volume = 0; playerinfo.innerHTML = "0"; } else { player.settings.volume -= 5; playerinfo.innerHTML = player.settings.volume; } } //音量+ function volup() { if ( player.settings.volume > 95 ) { player.settings.volume = 100; playerinfo.innerHTML = "100"; } else { player.settings.volume += 5; playerinfo.innerHTML = player.settings.volume; } } //静音 function mute() { player.settings.mute = !player.settings.mute; } //声道 function balance() { switch (player.settings.balance) { case 0: player.settings.balance = 100; playerinfo.innerHTML = '左声道'; break; case 100: player.settings.balance = -100; playerinfo.innerHTML = '右声道'; break; case -100: player.settings.balance = 0; playerinfo.innerHTML = '全声道'; break; default : player.settings.balance = 0; playerinfo.innerHTML = '全声道'; break; } } //更新时间 function updatetime() { playerinfo.innerHTML = player.controls.currentPositionString + " | " + player.currentMedia.durationString; } </script> </head> <body onload="playerinit();"> <table width="300"> <tr> <td><object id="player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="300" height="60"> <param name="autoStart" value="false"> <param name="balance" value="0"> <param name="currentPosition" value="0"> <param name="currentMarker" value="0"> <param name="enableContextMenu" value="true"> <param name="enableErrorDialogs" value="false"> <param name="enabled" value="true"> <param name="fullScreen" value="false"> <param name="invokeURLs" value="false"> <param name="mute" value="true"> <param name="playCount" value="1"> <param name="rate" value="1"> <param name="uiMode" value="none"> <param name="volume" value="100"> </object></td> </tr> <tr> <td><span id="playerinfo"></span></td> </tr> <tr> <td> <div align="center"> <input type="button" onmouseover=this.className="but12"; onmouseout=this.className="but11"; name="previous" title="上一首" onclick="previous();"> <input type="button" onmouseover=this.className="but22"; onmouseout=this.className="but21"; name="play" title="播放" onclick="play();"> <input type="button" onmouseover=this.className="but32"; onmouseout=this.className="but31"; name="pause" title="暂停" onclick="pause();"> <input type="button" onmouseover=this.className="but42"; onmouseout=this.className="but41"; name="stop" title="停止" onclick="stop();"> <input type="button" onmouseover=this.className="but52"; onmouseout=this.className="but51"; name="next" title="下一首" onclick="next();"> <input type="button" onmouseover=this.className="but62"; onmouseout=this.className="but61"; name="voldown" title="音量-" onclick="voldown();"> <input type="button" onmouseover=this.className="but62"; onmouseout=this.className="but61"; name="volup" title="音量+" onclick="volup();"> <input type="button" onmouseover=this.className="but62"; onmouseout=this.className="but61"; name="mute" title="静音" onclick="mute();"> <input type="button" onmouseover=this.className="but62"; onmouseout=this.className="but61"; name="balance" title="声道" onclick="balance();"> </div> </td> </tr> </table> <script language = "JavaScript" for = player event = playstatechange(newstate)> switch (newstate){ case 1: playerinfo.innerHTML = "停止"; break; case 2: playerinfo.innerHTML = "暂停"; break; case 3: playerinfo.innerHTML = "正在播放"; break; case 4: playerinfo.innerHTML = "4"; break; case 5: playerinfo.innerHTML = "5"; break; case 6: playerinfo.innerHTML = "正在缓冲..."; break; case 7: playerinfo.innerHTML = "7"; break; case 8: playerinfo.innerHTML = "8"; break; case 9: playerinfo.innerHTML = "正在连接..."; break; case 10: playerinfo.innerHTML = "准备就绪。欢迎光临<a href='http://mp3.asp2004.net'>http://mp3.asp2004.net</a>"; break; case 11: playerinfo.innerHTML = "11"; break; default: playerinfo.innerHTML = ""; } </script> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值