yun 发表于 2013-6-14 15:48:25

NetStream.attachVideo()属性

可用性可用性
Flash Player 6Flash Player 6
Flash Communication Server MX
用法
public attachVideo(source : Camera [, snapShotMilliseconds : Number])
参数
发送的任何额外的参数都会被忽略。source 视频传输的源。有效值是一个Camera对象(它开始捕获视频)
或null。如果你传递null,则Flash会停止捕获视频,你
snapShotMilliseconds 一个可选的整数,指定了视频流是连续的、单独的一帧,还是一个单帧序列用于
创建延时摄影。
如果这个参数被忽略了,则Flash会捕获所有的视频直到你发出my_ns.attachVideo(null)。
如果你传递,则Flash只会捕获单独的一帧。使用这个值来在一个先前存在的流中传输“快照”。
如果你传递一个正数,则Flash会捕获单独的一个视频帧,然后添加一个长snapShotMilliseconds的暂停作为快照的拖尾。使用这个值来创建延时摄影效果。注意:Flash把非法的、负的,或是非数字参数解释为。返回返回无描述方法。开始从指定的源捕获视频,或是停止捕获,假如source是null的话。这个方法仅对指定的流的发布者是可用的。在捆绑了视频源之后,你必须调用NetStream.publish()来真正的开始传输。想要播放这个视频的订阅者必须调用NetStream.play()和Video.attachVideo()方法来在舞台上显示视频。你可以使用snapShotMilliseconds来发送一个单独的快照(通过提供一个值)或是通过提供一个正数-这会把一个指定毫秒数的拖尾(trailer)添加到视频馈送-来发送一个快照序列,这从效果上看,就是一个延时镜头。拖尾延长了视频消息被显示的时间长度。通过不断的用一个正数作为snapShotMilliseconds来调用attachVideo,快照/拖尾/快照/拖尾……序列就创建了一个延时镜头。例如,你可以每天捕获一帧并将其追加到一个视频文件中。当一个订阅者回放这个文件时,每一帧都会在屏幕上维持一个指定的毫秒数,然后下一帧会被显示。snapShotMilliseconds参数服务于一个你可以用Camera.setMode()设置的fps参数不同的目的。当你指定snapShotMilliseconds时,你实际上正在控制在回放期间在记录的帧之间的流逝的时间。当你使用Camera.setMode()指定fps时,你实际上正在控制在记录和回放期间在记录的帧之间的流逝的时间。例如,假定你希望每分钟获取一个快照,总共要得到个快照。你可以以两种不同的方式做到这点:你可以发出NetStream.attachVideo(source, 500)命令次,每分钟一次。这会花费分钟来进行记录,但最终的结果文件将在秒内回放完毕(总共帧,帧间隔为毫秒)。你可以发出一个Camera.setMode()命令,使用一个/300的fps值(每秒一次,或说每分钟一次),然后发出一个NetStream.attachVideo(source)命令,这会使摄像头连续捕获分钟。最终的结果文件将回放分钟-与它的记录时间同长-每一帧被显示分钟。两种技术都捕获同样的帧,而且两种方法都是有效的,具体使用哪种方法主要依赖你的回放需求。例如,在第二种情况中,你可以记录音频的整个时间。同样,两个文件都将产生大约相同的体积。中,你可以记录音频的整个时间。同样,两个文件都将产生大约相同的体积。例子例子下面的函数在一个名为my_nc的NetConnection中发布一个流,它包含来自active_cam的视频输出。function pubLive() {//创建一个新的源流var source_ns:NetStream = new NetStream(my_nc);//把摄像头的活动捆绑到源流。这个调用会导致一个警告消息显示哪个服务正请求访问。//这也赋予了用户不把摄像头的活动发送到服务器的选择。source_ns.attachVideo(active_cam);//从用户的输入得到流名var mySubj:String = subject;//假定用户命名流为\'webCamStream\',把实况摄像头的活动作为\'webCamStream\'发布。source_ns.publish(mySubj, "live");}

发表于 1970-1-1 08:00:00

发表于 1970-1-1 08:00:00

页: [1]
查看完整版本: NetStream.attachVideo()属性