為網頁加播放器實現線上播放的代碼執行個體

來源:互聯網
上載者:User
網頁|線上

  我們在網頁上看到的播放器無外乎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 SetShowAbou



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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