zoukankan      html  css  js  c++  java
  • 经常使用网页播放器代码

    经常使用网页播放器代码

    我们在网页上看到的播放器无外乎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 GetConnectionBand 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 属性:是否在控制栏显示声音控件(静音button和音量滑块);
    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,当用户在媒体播放器上单击鼠标button时产生;
    DbClick,当用户在媒体播放器上双击鼠标button时产生;
    要接收键盘事件,请将 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”即是无限次循环播放)

    可变值: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>

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

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

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

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

    例如以下例: 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>

     

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


    http://www.aspxboy.com/private/showthread.asp?threadid=659
     
  • 相关阅读:
    弹性网卡支持私网多IP
    微服务浪潮中,程序猿如何让自己 Be Cloud Native
    Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
    如何更高效的管理原生微服务应用
    如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes
    PHP flock文件锁
    MySQL锁(MyISAM和InnoDB)
    汽车操作系统革命:封闭还是开源?
    采集百度top500歌曲,python2.7.2
    关于revision 的cover letter
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4271542.html
Copyright © 2011-2022 走看看