云流

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2845|回复: 0

NetStream类

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
发表于 2013-6-14 15:48:02 | 显示全部楼层 |阅读模式
[table][tr][td]可用性
Flash Player 6
Flash Communication Server MX
注意:在Flash Player 7或更新版本中,你可以使用这个方法来播放FLV文件而不需Flash Media Server。
经由一个由NetConnection对象建立的可用连接,NetStream类在Flash Player和Flash Media Server之间打
开了一个一路流连
接。一个NetStream对象就像是一个NetConnection对象中的一个信道;这个信道可以利用NetStream.publish()
来发布音频和/或视
频数据,或是利用NetStream.play()来订阅一个发布的流和接收数据。你可以发布或播放实况数据及播放先
前记录的数据。
你也可以使用NetStream对象来把文本消息发送到所有订阅客户机。
下面的步骤总结了使用Flash Media Server和RTMP发布实时音频和视频所必需的动作序列:
1. 使用new NetConnection来创建一个NetConnection对象。
2. 使用NetConnection.connect("rtmp://serverName/appName/appInstanceName")来把应用程序实例连接
到Flash Media
3. 使用new NetStream(connection)来在这个连接上创建一个数据流。
4. 使用NetStream.attachAudio(audioSource)来在这个流上捕获和发送音频,使用
NetStream.attachVideo(videoSource)来在这
个流上捕获和发送视频。
5. 使用NetStream.publish(publishName)来赋予这个流一个唯一的名字并经由这个流把数据发送到
Flash Media Server,以便
其他人可以接收它。你也可以在你发布它的同时记录数据,以便其他用户可以在以后回放它。
订阅这个流的SWF文件将使用在这里指定的名字;也就是说,它们将同发布者一样调用同样的
NetConnection.connect()
方法,然后调用一个NetStream.play(publishName)方法。它们也将必须调用Video.attachVideo()来显示视
频。
多个流可以同时在一个连接上打开,而每一个流不是发布就是播放。要在一个单一连接上发布并播放,
需要在这个连接上
多个流可以同时在一个连接上打开,而每一个流不是发布就是播放。要在一个单一连接上发布并播放,
需要在这个连接上
打开两个流,就像下面的范例中展示的那样。这个范例在一个流上实时地发布音频和视频数据,并在同一
台客户机的另一个流中回放它,经由同一个连接。
//这些行开始广播
var my_nc:NetConnection = new NetConnection(); //创建连接对象
my_nc.connect("rtmp://mySvr.myDomain.com/App"); //连接到服务器
publish_ns.attachVideo(Camera.get()); //publish_ns = new NetStream(my_nc); //
publish_ns.attachAudio(Microphone.get()); //捕获视频
publish_ns.publish("todays_news"); //开始广播
//这些行在一个名为my_video的Video对象的内部打开一个流来播放广播的视频部分。
//音频经由标准输出设备被播放-要听到音频,你不需要单独发出某个命令。
var play_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(play_ns); //指定在哪儿显示视频
play_ns.play("todays_news"); //使用与上面的发布同样的名字进行播放
在前面的范例中,你可以注意到发布者和订阅者都调用一个play_ns.play("todays_news"); //使用与上面
的发布同样的名字进行播放 方法。发布者调用NetStream.attachVideo()来把一个在前面的范例中,你可以注意到发布者和订阅者都调用一个attachVideo方法。发布者调用
NetStream.attachVideo()来把一个
视频馈送连接到一个流。订阅者调用Video.attachVideo()来把一个视频馈送连接到舞台中的一个Video对象。
引入的视频被显示在
这个对象的内部。
同时也会注意到,尽管发布者调用了一个attachAudio方法,但订阅者却没有。这是因为经由一个流发
送的音频在默认情况
下会经由订阅者的标准音频输出设备被播放。订阅者不需要把引入的音频捆绑到舞台上的某个对象。但不
管怎么说,你可以使
用MovieClip.attachAudio()把来自一个NetStream对象的音频路由到一个影片剪辑。如果你这么做的话,则你
可以创建一个Sound对象来控制声音的音量。
回复

使用道具 举报

无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|点播全平台|Player|Admin|播放器|kd|P2PCONF|小黑屋|手机版|Archiver|直播面试|网络电视|云流科技 ( 蜀ICP备2025132645号 )

GMT+8, 2025-5-6 15:18 , Processed in 0.071590 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2016 Comsenz Inc.

快速回复 返回顶部 返回列表