|
自制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
|