[AS3]as3处理视频时常见的NetStream information objects介绍
在NetStream信息对象提供的大量信息中,我常用到的有这么几个:
信息 | 类型 | 范围 | 说明 |
NetStream.Play.PublishNotify | 发布流 | 所有订阅者 | 当发布者的流开始发布的时候,所有的订阅者都会收到这个消息。但发布者不会收到这个消息。 |
NetStream.Play.UnpublishNotify | 发布流 | 所有订阅者 | 当发布者的流停止发布的时候,所有的订阅者都会收到这个消息。但发布者不会收到这个消息。 |
NetStream.Publish.BadName | 发布流 | 发布者 | 当发布者试图发布一个已经存在的流时会收到这个消息。只有发布者可以收到这个消息。 |
NetStream.Publish.Start | 发布流 | 发布者 | 当发布者开始发布流的时候收到这个消息。只有发布者可以收到这个消息。 |
NetStream.Unpublish.Success | 发布流 | 发布者 | 当发布者结束发布流的时候收到这个消息。只有发布者可以收到这个消息。 |
NetStream.Play.Reset | 播放流 | 播放者 | 当播放者开始播放流之前会收到这个消息。只有播放者可以收到这个消息 。 |
NetStream.Play.Start | 播放流 | 播放者 | 当播放者开始播放流的时候会收到这个消息。只有播放者可以收到这个消息 。 |
NetStream.Play.Stop | 播放流 | 播放者 | 当播放者停止播放流的时候会收到这个消息。只有播放者可以收到这个消息 。 |
假设我们有2个流,一个叫做PU,用于发布,一个叫做PL,用于播放PU发布的流。那么当PU开始发布的时候(如果发布成功),消息的发布情况是这样的:
PU会收到 NetStream.Publish.Start消息,PL会收到 NetStream.Play.PublishNotify消息。
当PU停止发布的时候,情况是这样的:
PU会收到 NetStream.Unpublish.Success,PL会收到 NetStream.Play.UnpublishNotify。
当PL开始播放的时候,情况是这样的:
PL会收到 NetStream.Play.Reset、 NetStream.Play.Start,PU不会收到任何消息。
当PL停止播放的时候,情况是这样的:
PL会收到 NetStream.Play.Stop消息,PU不会收到任何消息。
由此可见,发布者的发布和停止发布操作,所有的订阅者都可以收到,而订阅者对流的播放操作则并不会通知流的发布者。因此,对于流的控制上,还是要盯紧发布者。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例