用NetStream的appendBytes播放FLV
public class MiniStream extends Sprite
{
private var _buffer:ByteArray = new ByteArray();
private var _ns:NetStream;
private var _nc:NetConnection;
private var _video:Video;
private var _tc:Number = 0;
private var _ustream:URLStream;
private var _elapsed_bytes:uint = 0; public function MiniStream(onVideo:Function)
{
_video = new Video(400,300);
addChild(_video);
_ustream = new URLStream();
_ustream.addEventListener(IOErrorEvent.IO_ERROR, onErr);
_ustream.addEventListener(ProgressEvent.PROGRESS, onProgress); } public function play():void
{
_nc = new NetConnection();
_nc.connect(null); if(_ns)
{
_ns.removeEventListener(NetStatusEvent.NET_STATUS, onStatus);
}
_ns = new NetStream(_nc);
_ns.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
_ns.client = {};
_ns.bufferTime = 3;
_video.attachNetStream(_ns); _ns.play(null);
_ns.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
_ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); _ustream.load("http://example.com/h264vid.flv");
} private function onStatus(e:NetStatusEvent):void
{
trace(e.info.code);
} private function onProgress(e:ProgressEvent):void
{
//stores in our BA buffer
_ustream.readBytes(_buffer,0,_ustream.bytesAvailable);
_buffer.position = 0;
if(_buffer.bytesAvailable > 0)
{
_ns.appendBytes(_buffer);
_elapsed_bytes += _buffer.length;
_buffer.clear();
}
} private function netStatusHandler(evt:NetStatusEvent):void {
if (evt.info.code == "NetStream.Play.Stop") {
_ns.appendBytesAction(NetStreamAppendBytesAction.END_SEQUENCE);
}
} private function onErr(e:IOErrorEvent):void
{
//trace("ERROR", e.text);
}
}
用NetStream的appendBytes播放FLV的更多相关文章
- FluorineFx 播放FLV 时堆棧溢出解决 FluorineFx NetStream.play 并发时,无法全部连接成功的解决办法
http://25swf.blogbus.com/tag/FluorineFx/ http://www.doc88.com/p-7002019966618.html 基于Red5的视频监控系统的研究 ...
- 利用开源jPlayer播放.flv视频文件
最近工作中用到视频播放,在网上搜索对比了好几款开源播放插件后,觉得 jPlayer 是比较不错的,故作此记录! 接下来先快速的展示一下 利用jPlayer播放.flv视频的效果: <!DOCTY ...
- IIS中asp网站播放flv视频技术
播放flv视频文件需要使用flvplayer.swf程序(32K). HTML嵌入代码: <div id="FlashFile"> <object type=&q ...
- rtmp和http方式在播放flv方面的各自优势和劣势
下面是查的一点资料,比较一下用fms的rtmp和web的http播放flv的差别: 1. 区别 用HTTP方式:先通过IIS 将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播 ...
- MVC应用程序播放FLV视频,部分视图可多地方重复引用
网页上播放Falsh之外,还有一种格式就是FLV的视频,也是最常见的.Insus.NET再想在MVC应用程序实现这功能. 实现这个功能,需要从网上下载一个叫vcastr22.swf.如果在网上找不到, ...
- HTTP协议下可拖动时间轴播放FLV的实现(伪流媒体)
HTTP协议下实现FLV的播放其实并不复杂,当初实现的原理是使用了flowPlayer插件实现的,效果还不错.但仍有两大问题影响着客户的访问情绪: 1.预加载时页面卡死,似乎没有边下边播. 2.偶尔边 ...
- 服务器无法播放flv格式的视频解决办法
浏览某个网站时播放视频可能会出现下面的情况: 其实原因很简单,因为国内大多都是Win2003的主机 .默认是没有指定输出FLV这种格式的. 虽然FTP里面可以看见,但无法通过http访问,也就无法播放 ...
- EasyNVR无插件直播服务器软件览器低延时播放监控摄像头视频(EasyNVR播放FLV视频流)
背景描述 EasyNVR的使用者应该都是清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可 ...
- 在网页中插入flash播放器,播放flv视频
效果图如下: 所用代码如下: <object id="FLVPlayer" height="480" width="640" code ...
随机推荐
- 继续几道经典的js题(局部和全局变量,对象等)
1. //现有代码如下:var foo = 1;function main(){alert(foo);var foo = 2;alert(this.foo)this.foo = 3;}//1.请给出以 ...
- mtp
http://www.android.gs/mount-google-nexus-4-mtp-sd-card-on-ubuntu-and-other-linux-computers/ https:// ...
- HDU 3265 Posters
矩形面积并,一个拆成四个 #include<cstdio> #include<cstring> #include<cmath> #include<map> ...
- php new self 详解(转)
self points to the class in which it is written. So, if your getInstance method is in a class name M ...
- C语言常见命名规范
C语言常见命名规范 1 常见命名规则 比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的.其主要思想是“在变量和函 ...
- BP神经网络的Java实现
http://fantasticinblur.iteye.com/blog/1465497
- SqlServer tsql语句大全
下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE, ...
- compass scss blueprint
[转载] 今天在执行compass create my-grid –using blueprint 命令时发现报错 google了一下,说是新版compass已经不包括compass-bluprint ...
- ZOJ 3940 Modulo Query
0--M对某个数字取模,相当于把0--M区间进行切割,每次暴力切割一下.结果的算的时候二分一下即可... 看了官方题解才会... #include<cstdio> #include< ...
- Cdoefroces #354
A题 题意:给定一些数,然后求一次交换以后最大的数和最小的数之间的最大距离 分析:找到最大数和最小数的位置,然后判断是把位置大的移到最后还是把位置小的移到开始位置即可 #include <ios ...