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);
}
}

最新文章

  1. 我的MYSQL学习心得(十五) 日志
  2. iOS模态弹出半透明视图控制器
  3. SSL/TLS算法流程解析
  4. Zend Studio 中导出 PHP 语法颜色配置
  5. 你需要知道的三个 CSS3技巧(转)
  6. Android -- Drawable与Bitmap测试
  7. Unity3D研究院之IOS全自动打包生成ipa
  8. iphone UIScrollView缩放
  9. Php环境下载(PHPNow)安装
  10. Eclipse中为什么创建DynamicWebProject后没有默认的web.xml文件?
  11. Linux命令学习-useradd和usermod
  12. 下面那些是无效的Java标识符?
  13. 超详细Gitlab Runner环境配置中文教程
  14. python---wsgiref初探
  15. C++中关于new和delete的使用
  16. FactoryMethod工厂方法模式(创建型模式)
  17. JAVA 线程池入门事例
  18. IO多路复用的机制:select、poll、epoll
  19. MySQL Crash Course #05# Chapter 9. 10. 11. 12 正则.函数. API
  20. jenkins 定时构建 位置

热门文章

  1. VHD容量调整的方法(保存原有vhd)
  2. webapp之路--百度手机前端经验(转)
  3. HDU 5176 The Experience of Love 带权并查集
  4. HDU 4408 Minimum Spanning Tree 最小生成树计数
  5. (中等) CF 585B Phillip and Trains,BFS。
  6. a标签的target的四个值
  7. JOptionPane的使用
  8. Linux环境变量相关文件
  9. POJ 2139 Six Degrees of Cowvin Bacon
  10. 4、手把手教你Extjs5(四)主界面上加入顶部和底部区域