日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

技巧:自制Flash FLV視頻播放器_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:FLASH的場(chǎng)景,圖層(lawyer)和層(level)的理解
對(duì)初學(xué)者來(lái)說(shuō),FLASH(這里一FLASH8為例)的場(chǎng)景、圖層(lawyer)和層(level)很輕易引起困惑的3個(gè)概念,今天看到大家在討論涉及這個(gè)主題,我覺(jué)得有必要做一個(gè)比較系統(tǒng)

大家好,前不久筆者將CenFun Music Player加入flv視頻播放功能,這里單獨(dú)拿出來(lái)給大家做一個(gè)Flash FLV播放器(僅ActionScript控制,不使用 FLVPlayback 組件),如有不當(dāng)之處還望指正。
下面就打開(kāi)您的Macromedia Flash Player 8(推薦)開(kāi)始吧!

首先新建文檔,設(shè)置背景色黑色,其他默認(rèn),然后建四個(gè)圖層。

第一層用來(lái)放視頻元件,方法如下:

1,在"庫(kù)"面板("窗口">"庫(kù)")中,從"庫(kù)"彈出菜單中選擇"新建視頻"。
2,在"視頻屬性"對(duì)話框中,命名視頻元件并選擇"視頻"(由 ActionScript 控制)。
3,將視頻對(duì)象從"庫(kù)"面板拖到舞臺(tái)正中間,以創(chuàng)建視頻對(duì)象實(shí)例。
4,對(duì)此視頻元件取實(shí)例名為 "my_video"。

第二層用來(lái)放視頻地址輸入欄,方法如下:

1,在舞臺(tái)左下方用文本工具(快捷鍵T)畫一個(gè)地址輸入文本框,類型選擇"輸入文本"類型。
2,在"線條類型"彈出菜單中選擇"單行",并確認(rèn)"在文本四周顯示邊框"處于選中狀態(tài)。
3,對(duì)此文本框取實(shí)例名為"url"。

第三層用來(lái)放播放開(kāi)始按鈕,方法如下:

1,在"庫(kù)"面板("窗口">"庫(kù)")中,新建元件按鈕,按鈕樣式自行制作好,暫時(shí)能用就行。
2,將新建的按鈕對(duì)象從"庫(kù)"面板拖到舞臺(tái)地址輸入框后面,以創(chuàng)建播放開(kāi)始按鈕。
3,對(duì)此播放開(kāi)始按鈕取實(shí)例名為"play_bt"。

第四層用來(lái)放所有的ActionScript:

//首先初始化
//創(chuàng)建一個(gè) NetConnection 對(duì)象
var my_nc:NetConnection = new NetConnection();
//創(chuàng)建一個(gè)本地流連接
my_nc.connect(null);
//創(chuàng)建一個(gè) NetStream 對(duì)象
var my_ns:NetStream = new NetStream(my_nc);
//寫一個(gè)播放函數(shù)playflv()
function playflv(flv) {
//參數(shù)flv是要播放的flv視頻地址
//trace(flv);//測(cè)試用
// 將 NetStream 視頻輸入信號(hào)附加到 Video 對(duì)象,即視頻元件my_video
my_video.attachVideo(my_ns);
// 設(shè)置緩沖時(shí)間,單位秒,下面設(shè)置3秒即可
my_ns.setBufferTime(3);
// 開(kāi)始播放 FLV 文件
my_ns.play(flv);
}
//點(diǎn)擊開(kāi)始播放按鈕開(kāi)始播放
play_bt.onRelease = function() {
playflv(url.text);
//獲得url輸入框的視頻文件地址,并調(diào)用播放函數(shù)播放url對(duì)應(yīng)的flv視頻文件
}; //////////////////////////////////////////////////////////////////////////////
//至此一個(gè)最簡(jiǎn)單的播放器已經(jīng)做完了,下面要做的都是對(duì)其進(jìn)行更多的控制和表現(xiàn)工作。
//這里就其幾個(gè)重要的方面進(jìn)行制作,其他的還需要大家發(fā)揮自己的想象去進(jìn)行更好的設(shè)計(jì)制作。
//注重,以下代碼非必要,未經(jīng)測(cè)試,望大家一個(gè)一個(gè)嘗試實(shí)現(xiàn)。非凡注重路徑和實(shí)例名的對(duì)應(yīng)。

//*********************************
//1,播放的控制,暫停和停止的實(shí)現(xiàn)
//新建兩個(gè)按鈕,一個(gè)暫停(pause_bt),一個(gè)停止(stop_bt),原理和播放按鈕一樣。

pause_bt.onRelease = function() {
my_ns.pause();
};
stop_bt.onRelease = function() {
my_ns.seek(0);
//搜尋從0開(kāi)始播放
my_ns.pause(true);
//參數(shù)true表示暫停,若是false則表示從暫停變?yōu)槔^續(xù)播放,若沒(méi)有參數(shù)則為在暫停/播放中切換。
};//*********************************
//2,視頻下載進(jìn)度
//這個(gè)比較簡(jiǎn)單,和一般的下載進(jìn)度類似,原理就是播放時(shí)將已下載的和總共文件大小進(jìn)行百分比,然后顯示出來(lái)。
//新建顯示百分比的靜態(tài)文本(info)和進(jìn)度條(bar),其初始狀態(tài)、位置自行調(diào)整

this.onEnterFrame =function () {
var loadedbytes = my_ns.bytesLoaded;
//獲得已經(jīng)下載字節(jié)
var totalbytes = my_ns.bytesTotal;
//文件總大小
if (totalbytes == undefined || totalbytes<4000) {
info.text = "0%";
bar._width = 1;
} else {
var nowLoadPercent = Math.round(loadedbytes/totalbytes*100);
if (isNaN(nowLoadPercent)) {
info.text = "0%";
bar._width = 1;
} else {
info.text = nowLoadPercent "%";
bar._width = nowLoadPercent*35/100;
if (nowLoadPercent == 100) {
delete this.onEnterFrame;
}
}
}
} //*********************************
//3,視頻尺寸修正或調(diào)整
//這個(gè)比較重要,因?yàn)橐曨l尺寸比例一般都不一樣,故播放時(shí)要進(jìn)行調(diào)整,以免失真變形。
//原理就是獲得flv的尺寸,然后重新調(diào)整my_video的尺寸,最后將位置居中,必要時(shí)還可進(jìn)行縮放處理(這里省略)。

//首先寫個(gè)改變尺寸函數(shù)changesize(w, h),w為要改變?yōu)榈膶挾龋琱為要改變?yōu)榈母叨?
function changesize(w, h) {
//改變到傳進(jìn)來(lái)的參數(shù)尺寸
my_video._width = w;
my_video._height = h;
//trace("w:" w "h:" h);//測(cè)試用
//位置居中處理,假如你的視頻舞臺(tái)寬550,高400
my_video._x = 550/2-w/2;
my_video._y = 400/2-h/2;
}
//然后獲得flv的固有尺寸,并調(diào)用以上函數(shù)改變它
//此處理函數(shù)在調(diào)用 my_ns.play() 方法后而在視頻播放頭前進(jìn)之前觸發(fā)
my_ns.onMetaData = function(infoObject:Object) {
//獲得FLV文件中嵌入的描述性信息,這里獲得寬/高
var flv_width = infoObject.width;
var flv_height = infoObject.height;
//改變尺寸
changesize(flv_width, flv_height);
}; //*********************************
//4,播放時(shí)間和進(jìn)度
//原理和下載進(jìn)度類似,先獲得總持續(xù)時(shí)間,然后獲得當(dāng)前時(shí)間對(duì)其進(jìn)行百分比,也可做進(jìn)度條。

// 定義總持續(xù)時(shí)間全局變量,并獲得其值。
var flv_duration;
my_ns.onMetaData = function(infoObject:Object) {
//獲得FLV文件中嵌入的描述性信息,這里獲得獲得總持續(xù)時(shí)間(單位:秒)
var flv_duration = infoObject.duration;
};
//注重:這里可以和獲得寬高寫在一起。
//獲取當(dāng)前播放時(shí)間
var flv_thistime = my_ns.time;
//然后便可制作播放進(jìn)度了,和下載進(jìn)度類似,大家自己制作,此處略。 //*********************************
//5,音量的控制

//這個(gè)復(fù)雜一點(diǎn),必須先將音頻從 FLV 文件附加到舞臺(tái)上的影片剪輯,然后對(duì)其進(jìn)行控制
//新建影片剪輯my_ns_mc,并附加音頻
my_ns_mc.attachAudio(my_ns);
//為影片剪輯創(chuàng)建新的 Sound 對(duì)象
var my_ns_sound = new Sound(my_ns_mc);
//初始化音量(此處默認(rèn)80)
var flv_volume = 80;
my_ns_sound.setVolume(flv_volume);
//最后對(duì)flv_volume的大�。�0到100間)進(jìn)行控制即可改變音量大小
//這部分制作也省略,大家自由發(fā)揮,還可以制作靜音功能,即flv_volume為0 //*********************************
//還有,像快進(jìn),快退,緩沖顯示等等,都可以實(shí)現(xiàn),大家自行研究。

////////////////////////////////////////////
最后,一個(gè)Flash FLV播放器的制作基本完成了,推薦想學(xué)flash的朋友親自動(dòng)手去實(shí)現(xiàn),不要老是想去下載什么源碼然后修改一通,那樣就體會(huì)不到其中的很多奧妙了!

補(bǔ)充一個(gè)相關(guān)問(wèn)題:flv播放沒(méi)有圖象,只有聲音,這是因?yàn)檫@個(gè)flv文件用flash 8的編碼格式壓縮,而你發(fā)布的flash播放器為flash 7或更低的版本,故升級(jí)為版本8即可,或者將flv文件采用flash 7的編碼格式壓縮。 作者:大圣 來(lái)源:菲特網(wǎng)

分享:遮照及文字遮照的幾個(gè)概念和事例
今天剛好有2個(gè)帖子發(fā)了關(guān)于遮照的問(wèn)題。這個(gè)教程是針對(duì)今天的帖子和初學(xué)者講一些概念,做法和事例。請(qǐng)大家多多討論,或許會(huì)有所提高。遮照(MASK),也被被稱為

來(lái)源:菲特網(wǎng)//所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程