佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 在線FLV播放器實(shí)現(xiàn)方法

在線FLV播放器實(shí)現(xiàn)方法

熱門(mén)標(biāo)簽:服務(wù)器配置 呼叫中心市場(chǎng)需求 美圖手機(jī) 鐵路電話系統(tǒng) 檢查注冊(cè)表項(xiàng) 網(wǎng)站文章發(fā)布 智能手機(jī) 銀行業(yè)務(wù)
程序代碼
復(fù)制代碼 代碼如下:

object type="application/x-shockwave-flash" width="400" height="220" 
wmode="transparent" data="flvplayer.swf">
param name="movie" value="flvplayer.swf" />
param name="wmode" value="transparent" />
object/>


“flvplayer.swf”會(huì)自動(dòng)找到同一目錄內(nèi)的“video.flv”播放。也可以在“flvplayer.swf”后添加FLV文件的URL來(lái)進(jìn)行播放。方法如下:
復(fù)制代碼 代碼如下:

object type="application/x-shockwave-flash" width="400" height="220" 
wmode="transparent data="flvplayer.swf?file=movies/holiday.flv">
param name="movie" value="flvplayer.swf?file=movies/holiday.flv" />
param name="wmode" value="transparent" />
/object>


“file=movies/holiday.flv”就是參數(shù),可以使用相對(duì)或者絕對(duì)地址。

其他參數(shù)說(shuō)明:

如果載入影片時(shí)不需要自動(dòng)播放,可以使用“autostart”參數(shù)
例子

程序代碼

object type="application/x-shockwave-flash" width="400" height="220"
wmode="transparent" data="flvplayer.swf?autostart=false">
param name="movie" value="flvplayer.swf?autostart=false" />
param name="wmode" value="transparent" />
/object>

多個(gè)參數(shù)可以混合使用,有效的參數(shù)列表:

程序代碼
file (FLV文件的地址)
autostart (是否允許自動(dòng)播放,"true"或者"false")
image (未播放時(shí)的預(yù)覽圖片,只支持JPEG格式)
repeat (是否重復(fù)播放)
clicktext (開(kāi)始時(shí)顯示的文字,默認(rèn)是"click to play")

---------------------------------------------------------------
下面是3.12版本http://www.cgfans.net/bbs/Medias/2007/10/jw_flv_player.zip這個(gè)是3.12版本
這篇文檔包含了JW MP3 Player,JW FLVPlayer,JW Media Player,JW Image Rotator的安裝方法和配置方


JW PLAYERS 3.12 文檔

1,安裝 (在你的站點(diǎn)里嵌入)
2,參數(shù) (配置)
基本參數(shù)
顏色參數(shù)
界面參數(shù)
播放參數(shù)
互動(dòng)參數(shù)
3,播放列表
4,自定義
5,支持

快速配置,可運(yùn)行配置向?qū)?

1,安裝
下載后,你可以得到一個(gè)例子,當(dāng)用文本或HTML編輯器打開(kāi)的時(shí)候,你可以發(fā)現(xiàn)swf是用一段短小的
javascript嵌入到頁(yè)面上的。這個(gè)Javascript是Geoff Stearns寫(xiě)的swfobject.js,它解決了Flash需要激
活的麻煩。當(dāng)復(fù)制swf到你的站點(diǎn)的時(shí)候,不要忘記了把swfobject.js一同復(fù)制過(guò)去。并且在頁(yè)面中的
Head中加入下面代碼

程序代碼

script type="text/javascript" src="swfobject.js">/script>

在swfobject.js的幫助下你可以方便的設(shè)置swf的路徑,寬度,高度,背景顏色和所需要的Flash播放器的版本,也可以通過(guò)它設(shè)置一組參數(shù)來(lái)配置swf。當(dāng)頁(yè)面加載的時(shí)候,javascript會(huì)根據(jù)id來(lái)替換頁(yè)面中的節(jié)點(diǎn)。

程序代碼

p id="player">a >Get Flash/a> to see this player./p>
script type="text/javascript">
var so = new SWFObject('mediaplayer.swf','player','400','400','7');
so.addParam("allowfullscreen","true");
so.addVariable("file","test.flv");
so.addVariable("displayheight","300");
so.write('player');
/script>

在你不能使用javascript的情況下(比如你的bsp不支持,如myspace),你可以使用"embed"的方式來(lái)插入swf。
需要注意的是 swf可以不在該服務(wù)器上,但是如果你需要用xml的播放列表可能會(huì)有問(wèn)題,因?yàn)閤ml必須和swf在同一個(gè)服務(wù)器上,否則會(huì)因?yàn)榘踩珕?wèn)題被組織。mp3,jpg,flv可以不在該服務(wù)器上。

程序代碼

embed src="http://www.myfileserver.com/folder/mediaplayer.swf" width="400" height="400"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"
flashvars="file=http://www.myfileserver.com/folder/test.flvdisplayheight=300" />

2,參數(shù)
這些參數(shù)可以配置被嵌入到html中的播放器的行為和外觀。如果使用swfobject.js,可以用addVariable()方法來(lái)配置,如果使用的embed方式,可以通過(guò)定義"flashvars"屬性來(lái)配置變量,注意用""符號(hào)分割這些變量。

被*號(hào)標(biāo)注的同樣適用于 JW Image Rotator

基本變量

displayheight(number):顯示區(qū)域的高度.控制區(qū)域最小高度是20px,當(dāng)該值大于或等于swf的高度時(shí),播放列表會(huì)自動(dòng)隱藏,否這會(huì)顯示。
file*(url):要播放文件的地址。 支持單文件播放(MP3/FLV/RTMP/JPG/SWF/PNG/GIF),也支持播放列表。JW Image Rotator只支持列表
height*(number):設(shè)置swf的高度,當(dāng)使用embed方式插入的時(shí)候,在embed的屬性里已經(jīng)設(shè)置了。但是有時(shí)候(特別是使用IE的時(shí)候)高度會(huì)變的不確定,影響了布局,這時(shí)候需要通過(guò)該參數(shù)設(shè)置下,該值的單位是px
image(url):當(dāng)你播放mp3,flv的時(shí)候,你可以通過(guò)該值設(shè)置一個(gè)預(yù)覽圖作為專(zhuān)輯封面,支持 JPG/SWF/PNG/GIF file. 你也可以在播放列表中對(duì)每一項(xiàng)進(jìn)行設(shè)置。
shownavigation*(true,false):該參數(shù)僅被JW Image Rotator支持。用來(lái)顯示或隱藏圖片導(dǎo)航。
transition* (fade,bgfade,blocks,bubbles,circles,fluids,lines,random,slowfade): 該參數(shù)僅被JW Image Rotator支持。用來(lái)設(shè)置圖片替換的效果。 設(shè)置為"random" 將隨機(jī)的設(shè)置效果.默認(rèn)值為 "fade".
width*(number):設(shè)置swf的寬度,其他同height;

顏色變量

backcolor*(color):設(shè)置播放器的背景顏色。JW Media Player等默認(rèn)為 0xFFFFFF (白色) JW Image Rotator默認(rèn)為 0x000000 (黑色).
fontcolor*(color):設(shè)置文字和按鈕的顏色。JW Media Player等默認(rèn)為 0x000000 (黑色) JW Image Rotator默認(rèn)為 0xFFFFFF (白色).
lightcolor*(color):設(shè)置被被激活狀態(tài)的顏色。JW Media Player等默認(rèn)為 0x000000 (黑色) JW Image Rotator默認(rèn)為 0xCC0000 (紅色).

界面參數(shù)

autoscroll(true,false):當(dāng)播放列表過(guò)長(zhǎng)的時(shí)候,默認(rèn)會(huì)自動(dòng)顯示滾動(dòng)條。當(dāng)該值設(shè)置為'true'的時(shí)候,會(huì)自動(dòng)根據(jù)鼠標(biāo)滾動(dòng)播放列表。
displaywidth(number of pixes):設(shè)置顯示區(qū)域的寬度,當(dāng)設(shè)置的比較小的時(shí)候,播放列表會(huì)顯示在顯示區(qū)域的右側(cè)而不是底部。
kenburns* (true,false): 用以實(shí)現(xiàn)在運(yùn)動(dòng)的時(shí)候?qū)崿F(xiàn)kb效果(Ken Burns effect),注意,當(dāng)圖比較大,而且網(wǎng)速比較快的時(shí)候,建議打開(kāi),否則關(guān)閉。建議設(shè)置transition為"slowfade"來(lái)配合。
largecontrols (true,false): 設(shè)置該值為true用來(lái)放大控制區(qū)域的按鈕。建議為視力不好的用戶打開(kāi)
logo* (url): 設(shè)置一個(gè)圖片用來(lái)作為右上角的水印,支持所有圖片格式,支持通明圖層的png效果最佳。
overstretch* (true,false,fit,none): 設(shè)置圖片/影片在顯示區(qū)域的縮放。"true"等比例拉伸用來(lái)符合顯示區(qū)域。"false"僅拉伸合顯示區(qū)域。"fit"全屏顯示。"none"顯示原始大小。JW Media Player等默認(rèn)為"fit",JW Image Rotator默認(rèn)為"false"
showdigits (true,false,total): 設(shè)置為"false"隱藏播放時(shí)間等信息用來(lái)節(jié)省控制區(qū)域的空間。設(shè)置為"total"用來(lái)顯示全部時(shí)間。
showdownload (true,false):設(shè)置該值用來(lái)在控制區(qū)域顯示下載按鈕。鏈接到link所設(shè)置的地址。
showeq (true,false): 用來(lái)顯示一個(gè)假的音頻波動(dòng)效果。當(dāng)播放mp3的時(shí)候打設(shè)置該值可以得到很好的效果
showicons* (true,false): 用來(lái)顯示或者隱藏顯示區(qū)域中間的圖片,JW Media Player等默認(rèn)為true。JW Image Rotator默認(rèn)為false;
showvolume (true,false): 用來(lái)設(shè)置是否顯示音量控制按鈕
thumbsinplaylist (true,false): 設(shè)置列表中是否顯示預(yù)覽圖

播放參數(shù)
autostart (true,false,muted): 設(shè)置為ture,頁(yè)面加載完后會(huì)自動(dòng)播放。設(shè)置為muted,會(huì)在靜音模式下自動(dòng)播放,并且顯示區(qū)域中間有靜音圖標(biāo)。
bufferlength (number): 設(shè)置flv的緩存時(shí)間。默認(rèn)為3秒
repeat* (true,false,list): 默認(rèn)為flase,從當(dāng)前播放位置播放到列表尾部后停止。設(shè)置為list會(huì)播放列表中所有的項(xiàng)目,設(shè)置為true會(huì)循環(huán)播放。
rotatetime* (number): 設(shè)置圖片的顯示時(shí)間。JW Media Player等默認(rèn)為10秒,JW Image Rotator默認(rèn)為5秒
shuffle* (true,false): 設(shè)置為false順序播放,設(shè)置為true無(wú)序播
smoothing (true,false): 設(shè)置為false關(guān)閉視頻平滑處理,推薦設(shè)置true用以得到更好效果。但對(duì)于大屏幕或者配置低的機(jī)器設(shè)置false是有好處的
start* (second): 在使用RTMP 或 HTTP 流媒體的時(shí)候(非常規(guī)的flv/mp3),使用該變量準(zhǔn)確的定位開(kāi)始位置。該參數(shù)設(shè)置在XSPE格式的列表中以便準(zhǔn)且的設(shè)置文件的章節(jié)。
volume* (number): 設(shè)置音量,默認(rèn)為80.

互動(dòng)參數(shù)

audio* (url):用這個(gè)參數(shù)來(lái)添加一個(gè)mp3文件作為單獨(dú)的音頻,可以作為圖片的背景音樂(lè)解說(shuō)等。
bwfile (url):用以帶寬檢測(cè)的文件的地址,可以放一個(gè)圖片,或者rtmp流媒體??梢栽谟益I菜單中查看到貸款數(shù)值。
bwstreams (comma-separated list of bitrates):
和bwfile配合使用,根據(jù)帶寬值來(lái)選擇不同的文件。如:你要播放video.flv并且設(shè)置該項(xiàng)的值為100,250,500,1000,當(dāng)播放器發(fā)現(xiàn)帶寬為349kbps的時(shí)候,將會(huì)播放video_250.flv。所以他有一套有效的命名設(shè)置,他將會(huì)自動(dòng)切換,哪怕是在采用播放列表的情況下。
callback (url):設(shè)置這個(gè)參數(shù)為服務(wù)端程序(php/asp)地址用來(lái)回傳數(shù)據(jù)。在每個(gè)項(xiàng)播放和停止的時(shí)候會(huì)發(fā)送數(shù)據(jù)到服務(wù)器,以便在服務(wù)器端保存播放統(tǒng)計(jì)。
captions (url): 設(shè)置該值用以載入一個(gè)文本格式的文本作為字幕。播放器至支持SMIL格式和DVD的SRT格式的字幕。如果你的flv文件內(nèi)置字體你可以設(shè)置該值為"captionate".如果你有多頻道字幕,可以設(shè)置這個(gè)值為"captionate0", "captionate3"等??梢栽诹斜碇性O(shè)置每一個(gè)項(xiàng)的值。
enablejs* (true,false): 設(shè)置為true打開(kāi)對(duì)javascript的支持。僅支持在線使用。javascript可以控制播放,加載媒體,獲得當(dāng)前播放項(xiàng)的詳盡信息。
fsbuttonlink (url):如果用戶的flashplayer版本高于(9.0.28)播放器會(huì)自動(dòng)的顯示一個(gè)全屏按鈕。通過(guò)設(shè)置該值,你可以鏈接到另外的頁(yè)面用以全屏顯示。服務(wù)端程可以設(shè)定將要播放的文件。
id (string): 播放器的唯一標(biāo)識(shí)。將會(huì)被回傳到服務(wù)器端。
javascriptid* (string):如果你的頁(yè)面上有多個(gè)播放器,你可以設(shè)置這個(gè)參數(shù)給每個(gè)播放器不同的id,這樣就可以方便的用javascript來(lái)控制。他將回傳到getUpdate()事件中。
link (url): 通過(guò)這個(gè)參數(shù)用來(lái)設(shè)置一個(gè)可現(xiàn)在的版本,或者強(qiáng)制用戶通過(guò)該地址下載當(dāng)前項(xiàng)??梢栽诓シ帕斜碇袨槊恳豁?xiàng)設(shè)置該值。
linkfromdisplay* (true,false):設(shè)置顯示區(qū)域被點(diǎn)擊時(shí)要訪問(wèn)的頁(yè)面。默認(rèn)點(diǎn)擊顯示區(qū)域時(shí)會(huì)進(jìn)行播放/暫停操作。
linktarget* (frame): 設(shè)置鏈接目標(biāo),"_self"在當(dāng)前頁(yè)打開(kāi)。"_blank"在新頁(yè)面中打開(kāi)。
streamscript (url):設(shè)置這個(gè)參數(shù)為了兼容‘偽流媒體'FLV文件。
type (mp3,flv,rtmp,jpg,png,gif,swf,rbs,3gp,mp4,m4v): 播放器會(huì)根據(jù)文件名的最后三個(gè)字符來(lái)判斷類(lèi)型。在你使用服務(wù)器端語(yǔ)言進(jìn)行重定向時(shí),這種方法將不會(huì)再有效。所以你可以設(shè)置這個(gè)參數(shù)來(lái)告訴播放器文件類(lèi)型。你也可以在播放列表中對(duì)每一項(xiàng)進(jìn)行設(shè)置。如果播放器找不到文件類(lèi)型將會(huì)被識(shí)別為播放列表。
useaudio (true,false): 設(shè)置為false用來(lái)改變?yōu)殪o音狀態(tài)。
usecaptions (true,false):設(shè)置為false隱藏字幕.
usefullscreen (true,false):如果你不希望用flashplayer9的全屏模式??梢栽O(shè)置"fsbuttonlink"參數(shù)用來(lái)替換全屏按鈕的事件。
usekeys (true,false): 設(shè)置為"false"用來(lái)取消鍵盤(pán)操作(SPACE,UP,DOWN,LEFT,RIGHT)

注意:你必須對(duì)?=進(jìn)行字符轉(zhuǎn)移。? → %3F, = → %3D, → %26. 你的"file" 變量為getplaylist.php?id=123的時(shí)候必須設(shè)置為 getplaylist.php%3Fid%3D123.

播放列表

當(dāng)播放列表中只有一個(gè)項(xiàng)目的時(shí)候,播放器會(huì)用單文件播放模式進(jìn)行播放。播放器根據(jù)文件名來(lái)區(qū)分單文件和播放列表文件。如你的加載文件名為test.mp3的文件,播放器會(huì)用單文件播放模式去播放mp3,因?yàn)閿U(kuò)展名是mp3.如果你的文件名是getlist.php,播放器會(huì)認(rèn)為這是個(gè)播放列表。如果你使用了動(dòng)態(tài)腳本來(lái)加載一個(gè)單文件如

播放器支持三種常用的播放列表格式來(lái)確保通用性。XSPF,RSS和ATOM。

播放器所支持的XSPF/RSS/ATOM列表的通用標(biāo)簽。
表格


*Image Rotator僅支持播放列表中的第一個(gè)'audio'項(xiàng),被用來(lái)做為背景音樂(lè)來(lái)播放。播放器會(huì)播放所有的音樂(lè)項(xiàng)目。

** "category" 元素可以用來(lái)支持廣告。你可以設(shè)置該值為"preroll", "postroll" 或 "overlay".
使用"link"播放列表中單項(xiàng)的值為廣告地址。

*** "start"元素只被XSPF的播放列表格式支持。該元素用來(lái)設(shè)置流媒體文件(HTTP or RTMP)的開(kāi)始位置,單位為秒。

**** XSPF列表格式中的"location"元素中如果不包含常見(jiàn)的擴(kuò)展名(如 "mp3" or "flv"),可以使用"meta"元素指定文件格式。(如 meta rel='"type">mp3/meta> ).在使用RSS和ATOM的情況下,文件格式被自動(dòng)的根據(jù)mimetype來(lái)識(shí)別。

RTMP streams, the additional "id" flashvar has to be sent as well. Example: "file=rtmp://my.streaming.server/mypath" and "id=video_one".

注意,當(dāng)你播放單文件的時(shí)候,你支持所有的參數(shù),如你可以添加一個(gè)image,title,id,link等。如當(dāng)你用單文件播放模式播放"video.flv"時(shí)你也想添加一個(gè)預(yù)覽圖,你可以設(shè)置參數(shù)"file=video.flv","image=preview.jpg".當(dāng)你播放RTMP流媒體的時(shí)候,你可以添加參數(shù)"id".如"file=rtmp://my.streaming.server/mypath" ,"id=video_one".

特別指出兩個(gè)容易出錯(cuò)的地方。第一列表必須和播放器在同一個(gè)服務(wù)器上,這是flash的安全機(jī)制導(dǎo)致的。第二,要使用完整的地址格式包含http,以免播放器找不到文件。

自定義
有人多人要求我創(chuàng)建一些可自定義的版本。他們的很多要求其實(shí)已經(jīng)可以通過(guò)設(shè)置參數(shù)來(lái)實(shí)現(xiàn)了。我做了一個(gè)在線配置向?qū)Э梢院?jiǎn)單的配置這些參數(shù)。我沒(méi)有精力去滿足所有人的要求。不過(guò)在下一個(gè)版本中會(huì)有很多有趣的附加功能。

如果你熟悉actionscript腳本語(yǔ)言,你可以自己修改程序添加功能。

播放器在實(shí)例的時(shí)候會(huì)最近會(huì)加完配置和播放列表變量,然后進(jìn)入MCV的生命周期。在MCV生命周期中,配置和列表管理器(feeder)始終是有效的。

紅色標(biāo)注的兩個(gè)對(duì)象的所有方法可以通過(guò)javascript調(diào)用。

在另外的flash程序中是可以引用播放器的。只要從下載的flv文件中復(fù)制出圖像到你的flv中,并且確保將下載的com目錄復(fù)制到你的flv文件中,里面包含了所有的腳本。然后你就可以在時(shí)間軸的第一個(gè)幀的位置訪問(wèn)變量了。注意要設(shè)置高度和寬度的變量,否則播放器會(huì)根據(jù)你的尺寸拉伸變形。


程序代碼

// Set the flashvars (booleans and numbers should also be quoted)
var width = "320";
var height = "240";
var file = "my_video.flv";
var autostart = "true";
// Start the player
var mpl = new com.jeroenwijering.players.MediaPlayer(this.player);
Additionally, I have made the controller a public object, so you can control the mediaplayer with the sendEvent() function from anywhere in your flash site (the schematic above has a list of all sendEvent() options). Let's continue the small script above:

我為播放器創(chuàng)建了公開(kāi)的controller對(duì)象,所以你可以在你程序的任何地方通過(guò)使用sendEvent()來(lái)控制播放器,如:

程序代碼

mpl.controller.sendEvent("volume",50);
mpl.controller.sendEvent("playpause");

支持

常見(jiàn)問(wèn)題列表

1.如果你在使用ie的情況下出現(xiàn)了布局錯(cuò)亂的情況,那可能是大小沒(méi)有別設(shè)定好,你可以使用變量"width"和"height"來(lái)強(qiáng)行設(shè)置。
2.注意,flash和javascript的安全機(jī)制會(huì)影響你的本地測(cè)試。當(dāng)你的文件放在不同的服務(wù)器上的時(shí)候也會(huì)受到影響,你可以嘗試放在同一個(gè)服務(wù)器上。
3.全屏功能只有在flash player9.028.0以上版本才能使用,如果你使用了swfobject來(lái)嵌入你的播放器,你可以使用他的自動(dòng)升級(jí)功能。注意設(shè)置 "allowfullscreen" 為true
4.如果你的進(jìn)度條不動(dòng),或者你的視頻的長(zhǎng)度有問(wèn)題。那可能是你的flv沒(méi)有設(shè)置正確的metadata。你可以使用一個(gè)小工具www.buraks.com/flvmdi/.

兩個(gè)版本使用起來(lái)稍有不同,具體請(qǐng)見(jiàn)里面說(shuō)明
官方下載鏈接:http://www.jeroenwijering.com/upload/jw_flv_player.zip
您可能感興趣的文章:
  • 不需要視頻服務(wù)器,同樣可以在線播放,F(xiàn)LV制作方法
  • flv播放器 在網(wǎng)頁(yè)中播放flv
  • Windows 2003 iis FLV 視頻不能播放的原因與解決
  • 用php將任何格式視頻轉(zhuǎn)為flv的代碼
  • flvplayer.swf flv視頻播放器使用方法
  • 利用Ffmpeg獲得flv視頻縮略圖和視頻時(shí)間的代碼
  • 基于js與flash實(shí)現(xiàn)的網(wǎng)站flv視頻播放插件代碼
  • js的flv視頻播放器插件使用方法

標(biāo)簽:滄州 長(zhǎng)治 新疆 河南 紅河 樂(lè)山 上海 沈陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在線FLV播放器實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    兴山县| 桐乡市| 金塔县| 垦利县| 郓城县| 卓尼县| 平乐县| 商丘市| 奎屯市| 湖北省| 邯郸市| 巫溪县| 会理县| 永川市| 德庆县| 汶上县| 利辛县| 纳雍县| 岳阳县| 邳州市| 武胜县| 夏河县| 泉州市| 兴安县| 修武县| 中江县| 皮山县| 罗源县| 青田县| 广东省| 巴南区| 镇江市| 鄯善县| 章丘市| 浪卡子县| 广河县| 西丰县| 文昌市| 那曲县| 左权县| 台南市|