博客
关于我
http+flv+java,制作一个全功能的FLV播放器
阅读量:360 次
发布时间:2019-03-05

本文共 1655 字,大约阅读时间需要 5 分钟。

创建一个全功能的FLV播放器

我们将制作的这个FLV播放器由这样几部分组成:

一个用于显示视频图像的视频对象,

三个分别用于播放、暂停和停止视频的按钮,

以及一个用于显示缓冲区装载进度的动态文本。

1. 创建三个按钮元件,分别命名为“播放”、“暂停”、“停止”,将其各自一个实例拖放到场景舞台中。

2. 创建一个视频元件,将其一个实例拖放到场景舞台中,并赋予其实例名myVideo。

3. 在场景舞台中放置一个动态文本,赋予其实例名myText。

4. 在根时间线的第1帧中捆绑下面的脚本:

//创建一个NetConnection对象。

myFLVConnection=new NetConnection();

//创建一个流连接。

myFLVConnection.connect(null);

//创建一个NetStream对象。

//myFLVConnection被指定给该NetStream对象。

myFLVStream=new NetStream(myFLVConnection);

//myFLVStream被捆绑到Video对象myVideo:

myVideo.attachVideo(myFLVStream);

//设置缓冲时间。

myFLVStream.setBufferTime(10);

分析这段脚本,首先我创建了一个NetConnection对象myFLVConnection,然后我调用NetConnection对象的connect()方法打开了一个流连接,在调用connect()方法时你必须传递给它一个null值作为参数。

接下来,我利用myFLVStream=new NetStream(myFLVConnection);这行代码创建了一个NetStream对象myFLVStream,在创建时我就需要把为该“流”提供的“连接”告知它,即把myFLVConnection对象作为参数传递给NetStream类的构造函数。

之后,我把myFLVStream(“流”)捆绑到Video对象myVideo。然后,我还用NetStream类的setBufferTime()方法以秒为单位指定了一个缓冲时间,即要在缓冲区中装入可供播放多长时间的数据后才开始播放。

5. 在“播放”按钮实例上捆绑下面的脚本:

on(release){

//装载并播放FLV文件。

myFLVStream.play("myFLV.flv");

//定义bufferLoad函数以供setInterval函数调用来显示缓冲进度。

function bufferLoad(){

//在动态文本中显示缓冲区的装载进度。

myText.text="缓冲区已装载"+int((myFLVStream.bytesLoaded/myFLVStream.bytesTotal)*100)+"%";

}

//设置时间间隔。

setInterval(bufferLoad,20);

}

这行代码—myFLVStream.play("myFLV.flv");用来装载和播放FLV文件。如果你的FLV文件位于某个HTTP地址或本地文件系统的某处,你可以使用http://或file://这样的格式作为路径的前缀来指定FLV文件的位置。

这个表达式—myFLVStream.bytesLoaded/myFLVStream.bytesTotal用来检查缓冲区已装载的字节占缓冲区要装载的总字节的比值。bytesLoaded和bytesTotal是NetStream类的两个属性。

6. 在“暂停”按钮实例上捆绑下面的脚本:

on(release){

//暂停FLV文件。

myFLVStream.pause();

}

7. 在“停止”按钮实例上捆绑下面的脚本:

on(release){

//停止FLV文件并同时删除下载的FLV文件。

myFLVStream.close();

}

8. 制作完成。你应该在你的网站中测试这个FLV播放器。

转载地址:http://mvjg.baihongyu.com/

你可能感兴趣的文章
程序设计基础75 tips 广度搜索细节问题
查看>>
笨办法学python之数据类型
查看>>
笨办法学Python之将对象名的字符串类型,转化成相应对象
查看>>
ArduPilot源码极速下载手册(一文告别github慢速问题)
查看>>
聊一聊那些应该了解的大佬(飞控,人工智能方向)
查看>>
ArduPilot+mavros+gazebo+QGC联合仿真初体验
查看>>
px4调试bug--添加mavlink_log_info信息
查看>>
redis替换字符串命令
查看>>
redis向数组中添加值并查看数组长度
查看>>
python3基础梳理11python中模块和包
查看>>
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
查看>>
jQuery实现轮播图效果
查看>>
mybatis中like的注意
查看>>
sqlplus的基本使用
查看>>
oracle删除表重复数据
查看>>
EditText获取焦点并显示软键盘,Textview字间距,EditText输入监听判断不大于,处理倒计时
查看>>
Oracle删除主表数据
查看>>
js中两种定时器,setTimeout和setInterval实现验证码发送
查看>>
Oracle常用SQL
查看>>
技术美术面试问题整理
查看>>