Flash_FLV视频播放器制作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自制Flash FLV视频播放器

大家好,前不久笔者将CenFun Music Player加入flv视频播放功能,这里单独拿出来给大家做一个Flash FLV播放器(仅ActionScript控制,不使用 FLVPlayback 组件),如有不当之处还望指正。

下面就打开您的Macromedia Flash Player 8(推荐)开始吧!

首先新建文档,设置背景色黑色,其他默认,然后建四个图层。

第一层用来放视频元件,方法如下:

1,在"库"面板("窗口">"库")中,从"库"弹出菜单中选择"新建视频"。

2,在"视频属性"对话框中,命名视频元件并选择"视频"(由 ActionScript 控制)。

3,将视频对象从"库"面板拖到舞台正中间,以创建视频对象实例。

4,对此视频元件取实例名为 "my_video"。

第二层用来放视频地址输入栏,方法如下:

1,在舞台左下方用文本工具(快捷键T)画一个地址输入文本框,类型选择"输入文本"类型。

2,在"线条类型"弹出菜单中选择"单行",并确认"在文本周围显示边框"处于选中状态。

3,对此文本框取实例名为"url"。

第三层用来放播放开始按钮,方法如下:

1,在"库"面板("窗口">"库")中,新建元件按钮,按钮样式自行制作好,暂时能用就行。

2,将新建的按钮对象从"库"面板拖到舞台地址输入框后面,以创建播放开始按钮。

3,对此播放开始按钮取实例名为"play_bt"。

第四层用来放所有的ActionScript:

//首先初始化

//创建一个 NetConnection 对象

var my_nc:NetConnection = new NetConnection();

//创建一个本地流连接

my_nc.connect(null);

//创建一个 NetStream 对象

var my_ns:NetStream = new NetStream(my_nc);

//写一个播放函数playflv()

function playflv(flv) {

//参数flv是要播放的flv视频地址

//trace(flv);//测试用

// 将 NetStream 视频输入信号附加到 Video 对象,即视频元件my_video

my_video.attachVideo(my_ns);

// 设置缓冲时间,单位秒,下面设置3秒即可

my_ns.setBufferTime(3);

// 开始播放 FLV 文件

my_ns.play(flv);

}

//点击开始播放按钮开始播放

play_bt.onRelease = function() {

playflv(url.text);

//获得url输入框的视频文件地址,并调用播放函数播放url对应的flv视频文件

};

//////////////////////////////////////////////////////////////////////////////

//至此一个最简单的播放器已经做完了,下面要做的都是对其进行更多的控制和表现工作。

//这里就其几个重要的方面进行制作,其他的还需要大家发挥自己的想象去进行更好的设计制作。//注意,以下代码非必要,未经测试,望大家一个一个尝试实现。特别注意路径和实例名的对应。//*********************************

//1,播放的控制,暂停和停止的实现

//新建两个按钮,一个暂停(pause_bt),一个停止(stop_bt),原理和播放按钮一样。

pause_bt.onRelease = function() {

my_ns.pause();

};

stop_bt.onRelease = function() {

my_ns.seek(0);

//搜寻从0开始播放

my_ns.pause(true);

//参数true表示暂停,若是false则表示从暂停变为继续播放,若没有参数则为在暂停/播放中切换。

};

//*********************************

//2,视频下载进度

//这个比较简单,和一般的下载进度类似,原理就是播放时将已下载的和总共文件大小进行百分比,然后显示出来。

//新建显示百分比的静态文本(info)和进度条(bar),其初始状态、位置自行调整

this.onEnterFrame =function () {

var loadedbytes = my_ns.bytesLoaded;

//获得已经下载字节

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,视频尺寸修正或调整

相关文档
最新文档