網上比較常用的嵌入網頁中的播放器代碼收藏

來源:互聯網
上載者:User

例如:網路上最流行的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=center 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://www.jb51.net/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 屬性。(對於廣播的視頻,其長度是不可預知的)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.