常见的向网页中嵌入播放器代码收藏
作者:bea
我们在网页上看到的播放器无外乎WMP/RealOne/MacromediaFlashPlayer,其他的无非是面板不同,或者添加了其他控件,对于计算机上安装的一些播放器也都是编码和解码器的整合,其最核心的编码和解码技术是相同的。
例如:网络上最流行的windowsmedia流(asf,wma,wmv格式...),Real流(rm,rmvb...),还有MPEG系列编码格式(MP4/MP3格式...)
WindowsMediaVideo是微软推出的一种流媒体格式,它是在“同门”的ASF(AdvancedStreamFormat)格式升级延伸来得.在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。WindowsMediaPlayer9兼容所有格式的WMV,官方编码器是WindowsMediaEncoder,但是如果你想转制高质量的wmv文件,那您一定要有超大的内存来处理数据...
无意中发现CASTPOST的播放器可以自己定义大小,对于WMV格式的在线播放可以说已经足够快了,然后就费了好大劲把一些精彩的短片和一些经典的MTV转化WMV格式放了上来,尽管现在不能下载了,但是只要不是连接人数过多,播放起来还是很流畅的^_^
WMP加入了ActiveX解码器控件,不仅可以放曲子,还能放Flash和其它视频文件。
想用WMP连续播放请参照ASX元文件使用讲解:使用ASX播放列表吧
上面的这个播放器是老式的那种,6.4版本!新式播放器是在MediaPlayer9.0以后出现的,也就是说只有装了9.0或9.0以上的播放器才能正常使用的。
下面是新式播放器代码,相对以前的来说要简单很多:
RealOne播放器代码:
看着很多很复杂的样子,其实就是多了些播放器参数,可以不要...
RealPlayer网页播放器参数含义
参数: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的一些函数、方法和过程
这是RealPlayerActiveXControlLibrary(Version1.0)的所有函数与方法,有兴趣可以研究一下。
functionGetSource:WideString;
procedureSetSource(constlpszNewValue:WideString);
functionGetConsole:WideString;
procedureSetConsole(constlpszNewValue:WideString);
functionGetControls:WideString;
procedureSetControls(constlpszNewValue:WideString);
functionGetNoLabels:WordBool;
procedureSetNoLabels(bNewValue:WordBool);
functionGetAutoStart:WordBool;
procedureSetAutoStart(bNewValue:WordBool);
functionGetAutoGotoURL:WordBool;
procedureSetAutoGotoURL(bNewValue:WordBool);
functionGetVolume:Smallint;
procedureSetVolume(nVol:Smallint);
functionGetMute:WordBool;
procedureSetMute(bMute:WordBool);
functionGetLoop:WordBool;
procedureSetLoop(bVal:WordBool);
functionGetImageStatus:WordBool;
procedureSetImageStatus(bEnable:WordBool);
functionGetPacketsTotal:Integer;
functionGetPacketsReceived:Integer;
functionGetPacketsOutOfOrder:Integer;
functionGetPacketsMissing:Integer;
functionGetPacketsEarly:Integer;
functionGetPacketsLate:Integer;
functionGetBandwidthAverage:Integer;
functionGetBandwidthCurrent:Integer;
procedureDoPlayPause;
procedureDoStop;
procedureDoNextItem;
procedureDoPrevItem;
functionCanPlayPause:WordBool;
functionCanStop:WordBool;
functionHasNextItem:WordBool;
functionHasPrevItem:WordBool;
functionHasNextEntry:WordBool;
functionHasPrevEntry:WordBool;
procedureDoNextEntry;
procedureDoPrevEntry;
procedureAboutBox;
procedureEditPreferences;
procedureHideShowStatistics;
functionIsStatisticsVisible:WordBool;
procedureDoGotoURL(consturl:WideString;consttarget:WideString);
procedureDoPlay;
procedureDoPause;
functionGetPosition:Integer;
functionGetPlayState:Integer;
functionGetLength:Integer;
functionGetTitle:WideString;
functionGetAuthor:WideString;
functionGetCopyright:WideString;
functionGetClipWidth:Integer;
functionGetClipHeight:Integer;
functionCanPlay:WordBool;
functionCanPause:WordBool;
procedureSetPosition(lPosition:Integer);
functionGetNumLoop:Integer;
procedureSetNumLoop(lVal:Integer);
functionGetCenter:WordBool;
procedureSetCenter(bVal:WordBool);
functionGetNoLogo:WordBool;
procedureSetNoLogo(bVal:WordBool);
functionGetMaintainAspect:WordBool;
procedureSetMaintainAspect(bVal:WordBool);
functionGetBackgroundColor:WideString;
procedureSetBackgroundColor(constpVal:WideString);
functionGetStereoState:WordBool;
functionGetLiveState:WordBool;
functionGetShowStatistics:WordBool;
procedureSetShowStatistics(bVal:WordBool);
functionGetShowPreferences:WordBool;
procedureSetShowPreferences(bVal:WordBool);
functionGetShowonmouseoverWordBool;
procedureSetShowAbout(bVal:WordBool);
functionGetOriginalSize:WordBool;
procedureSetOriginalSize;
functionGetDoubleSize:WordBool;
procedureSetDoubleSize;
functionGetFullScreen:WordBool;
procedureSetFullScreen;
functionGetEnableContextMenu:WordBool;
procedureSetEnableContextMenu(bVal:WordBool);
functionGetEnableOriginalSize:WordBool;
procedureSetEnableOriginalSize(bVal:WordBool);
functionGetEnableDoubleSize:WordBool;
procedureSetEnableDoubleSize(bVal:WordBool);
functionGetEnableFullScreen:WordBool;
procedureSetEnableFullScreen(bVal:WordBool);
functionGetEnableMessageBox:WordBool;
procedureSetEnableMessageBox(bVal:WordBool);
procedureSetTitle(constpVal:WideString);
procedureSetAuthor(constpVal:WideString);
procedureSetCopyright(constpVal:WideString);
functionGetWantKeyboardEvents:WordBool;
procedureSetWantKeyboardEvents(bWantsEvents:WordBool);
functionGetWantMouseEvents:WordBool;
procedureSetWantMouseEvents(bWantsEvents:WordBool);
functionGetNumEntries:Smallint;
functionGetCurrentEntry:Smallint;
functionGetEntryTitle(uEntryIndex:Smallint):WideString;
functionGetEntryAuthor(uEntryIndex:Smallint):WideString;
functionGetEntryCopyright(uEntryIndex:Smallint):WideString;
functionGetEntryAbstract(uEntryIndex:Smallint):WideString;
procedureSetCanSeek(bCanSeek:WordBool);
functionGetCanSeek:WordBool;
functionGetBufferingTimeElapsed:Integer;
functionGetBufferingTimeRemaining:Integer;
functionGetConnectionBandwidth:Integer;
functionGetPreferedLanguageString:WideString;
functionGetPreferedLanguageID:Integer;
functionGetUserCountryID:Integer;
functionGetNumSources:Smallint;
functionGetSourceTransport(nSourceNum:Smallint):WideString;
functionGetWantErrors:WordBool;
procedureSetWantErrors(bVal:WordBool);
functionGetShuffle:WordBool;
procedureSetShuffle(bVal:WordBool);
functionGetVersionInfo:WideString;
functionGetLastMessage:WideString;
functionGetLastErrorSeverity:Integer;
functionGetLastErrorRMACode:Integer;
functionGetLastErrorUserCode:Integer;
functionGetLastErrorUserString:WideString;
functionGetLastErrorMoreInfoURL:WideString;
procedureSetPreFetch(bVal:WordBool);
functionGetPreFetch:WordBool;
procedureSetRegion(constpVal:WideString);
functionGetRegion:WideString;
functionGetIsPlus:WordBool;
functionGetConsoleEvents:WordBool;
procedureSetConsoleEvents(bVal:WordBool);
functionGetDRMInfo(constpVal:WideString):WideString;
propertyControlInterface:IRealAudioreadGetControlInterface;
propertyDefaultInterface:IRealAudioreadGetControlInterface;
网页中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。
□媒体播放器的外观界面
在网页中,你可以通过相关属性来控制媒体播放器的哪些部分出现,哪些部分不出现。
媒体播放器包括如下元素:
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媒体元文件中,或者两者都放。
剪辑信息可以放在媒体文件中,也可以放在windows媒体元文件中,或者两者都放。如果在元文件中指定了剪辑信息,那么用GetMediaInfoString方法返回的就是元文件中的信息,而不会返回剪辑中包含的信息。
在元文件中,附加信息可以放置在每一个剪辑或节目的PARAM标签中。你可以为每个剪辑添加任意多个PARAM标签,用来存储自定义的信息或链接到相关站点。在PARAM标签中的信息可以通过GetMediaParameter方法来访问。
下面的属性返回有关大小和时间的信息:
ImageSourceHeight、ImageSourceWidth:返回图像窗口的显示尺寸;
Duration属性,返回剪辑的长度(秒),要检测这个属性是否包含有效的数值,请检查IsDurationValid属性。(对于广播的视频,其长度是不可预知的)。
有用 | 无用猜你喜欢
您可能感兴趣的文章:
- C++教程之类的相关知识(七)
- C++教程之类的相关知识(六)
- C++教程之类的相关知识(五)
- C++教程之类的相关知识(四)
- C++教程之类的相关知识(三)
- C++教程之类的相关知识(二)
- C++教程之类的相关知识(一)
- 介绍几本C++网络编程的书籍
- C++入门教程,函数在C++中的作用(二)
- C++入门教程,函数在C++中的作用(一)
- html5标签,html5新增标签用法与解释
- qq联系代码 无需加为好友即可聊天
- Http请求过程了解网站性能优化
- 减少HTTP请求加快网页加载速度
- Kindeditor设置内容区默认字体大小
- HTML教程之网站性能优化书籍推荐
- 网页背景音乐,网页背景音乐代码
- 快速提高网页加载速度14招
- textarea换行问题解决方法