用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 ...
随机推荐
- HDU 1887 Weird Numbers(负数的进制转化)
题目要求有两种情况,第一种from情况,正常输出即可,很简单.第二种是to情况,给一个数字,输出负进制R的原码,这个有点小麻烦...解决方法如下; 首先,把这个数n按正常方式展开,形式如下: .... ...
- Xamarin For Visual Studio 3.0.54.0 完整离线破解版
Xamarin For Visual Studio 3.0.54.0 完整离线破解版 Xamarin For Visual Studio就是原本的Xamarin For Android 以及 Xama ...
- Zencart 500错误查找和解决方法
有时在一些虚拟主机下(如HostMonster,BlueHost),Zencart网站会莫名奇妙输出空白页面,查看HTTP头,其实可以看到是500错误.至于500错误的出现原因,一般是由于服务器脚本或 ...
- dedecms自定义表单
- 两列布局,读《css那些事儿》
两列布局: 1.两列定宽: 要点:float.width固定. :after清除浮动. 前提:两列的盒模型宽度相加不能大于父元素的宽度,否则会出现错位现象. <!DOCTYPE html> ...
- JAVA实现的截屏程序
http://hadeslee.iteye.com/blog/125386 http://www.jb51.net/article/75114.htm JAVA截屏程序(第三版) JavaEXTSwi ...
- oracle 主键自动增长
oracle 主键自动增长 2009-12-11 16:07:00| 分类: 数据库资料|字号 订阅 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...
- Lua打印Table的数据结构工具类
--这是quick中的工具,作用就是打印Lua中强大的table的结构, 当table的嵌套层级比较多的时候,这个工具非常方便,开发中必备的工具. --具体使用方法:local debug = req ...
- $(srctree) is not clean, please run 'make mrproper'
在使用make menuconfig重新配置后,再编译kernel时常会遇到这样的问题: Using /home/likewise-open/BJS/lisa.liu/code/sprdroid4.0 ...
- CodeForces 620A Professor GukiZ's Robot
水题 #include<cstdio> #include<cstring> #include<cmath> #include<stack> #inclu ...