video.js 和 video-js-swf 的源码分析
attachNetStream(netStream:NetStream):void
将 NetStream 的数据帧通过 Video 显示出来clear():void
清空当前播放画面width
和height
获取/设置宽度/高度
初始化一个 NetStream
的正确姿势:
- 创建
NetStream
实例 - 添加
NetStatusEvent.NET_STATUS
事件监听 - 创建一个 Video 容器并调用
attachNetStream
方法,将 Video 和 NetStream 关联起来 - 调用
play
方法开始播放 - 调用
addChild
将 Video 添加到 stage
在开始播放之前至少要缓存多少秒的数据
- 默认是 0.1 秒
当前缓冲区中的缓存了多少秒的数据
- 通过比较
bufferLength
和bufferTime
的大小,可以预估离缓存满还有多长时间
指定缓冲区最大可以缓存多少秒的数据。
- 如果 bufferTimeMax > 0 且 bufferLength >= bufferTimeMax , audio 就会加速播放直到 bufferLength 减小到 bufferTime ;如果是 video-only ,video 就会加速播放直到 bufferLength 减小到 bufferTime
- 加速的范围在 1.5% ~ 6.25%
当前已加载的字节数
当前加载的文件的总字节数
从本地文件系统或者 web 服务器播放一个媒体文件
播放一个外部 flv 文件:
_ns.play('http://path/to/example.flv');
停止播放并将时间重置为 0
暂停播放,如果已经暂停就什么也不做。要恢复播放调用 .resume()
方法。要切换“播放/暂停”调用 .togglePause()
方法。
从 Flash Player 9.0.115.0 开始,暂停播放的时候不会清空缓存,这种策略称为“smart pause”,这样的好处是恢复播放的时候可以直接从缓存播放,减少造成延迟。为了兼容旧的播放器,“NetStream.Buffer.Flush”这个事件依然会触发,但是此时并不意味着缓存一定被清空。
初始化一个 NetConnection
的正确姿势:
- 创建
NetConnection
实例 - 添加
NetStatusEvent.NET_STATUS
事件监听 - 调用
connect
方法,传一个null
参数(表示从本地文件系统或者 web 服务器播放视频/音频)
var _nc:NetConnection = new NetConnection();
_nc.addEventListener(NetStatusEvent.NET_STATUS, onNetConnectionStatus);
_nc.connect(null);
client 属性定义了 NetStream 和 NetConnection 的回调函数被调用时的对象,例如 onMetaData 触发时应该调用哪个对象的 onMetaData 方法
从 swf 文件开始播放到当前时间的总毫秒数
正常关闭成功
尝试连接成功
尝试连接失败
Flash 播放器检测到网络的变化:无线连接断开/无线连接成功/网线断开,等等
Don't use this event to implement your NetConnection reconnect logic. Use "NetConnection.Connect.Closed" to implement your NetConnection reconnect logic.
尝试连接被拒
数据流已经停了,而且缓存已经清空