http://www.cnblogs.com/beniao/archive/2009/04/28/1444159.html
package
{
import flash.net. * ;
import flash.events. * ;
import flash.display. * ;
import flash.media. * ;
import fl.controls. * ;
public class PublishStream extends Sprite
{
private var video:Video;
private var nc:NetConnection;
private var ns:NetStream;
private var cam:Camera;
private var mic:Microphone;
public function PublishStream(): void
{
btnPublish.label = " 釋出視訊 " ;
btnPublish.addEventListener(MouseEvent.CLICK,onPublishClick);
// 擷取視訊和聲音,并将視訊顯示到Flash界面
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
video = new Video( 320 , 240 );
video.attachCamera(cam);
video.x = 20 ;
video.y = 20 ;
addChild(video);
}
private function onPublishClick(evt:MouseEvent): void
{
nc = new NetConnection();
nc.connect( " rtmp://localhost/LiveStreams " );
nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
}
private function onNetStatusHandler(evt:NetStatusEvent): void
{
trace(evt.info.code);
if (evt.info.code == " NetConnection.Connect.Success " )
{
ns = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
ns.client = new CustomClient();
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish(txtInput.text, " live " );
}
}
}
}
------------------------------------
以上是視訊釋出端的代碼。顯示定義擷取cam,mic,video等,然後連接配接到程式,然後定義ns,最後是publish出來,多了個live,表示是時時的,是以不會在對應目錄下儲存該視訊片段。
=================================
package
{
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class LiveStream extends Sprite
{
private var video:Video;
private var nc:NetConnection;
private var ns:NetStream;
public function LiveStream():void
{
nc = new NetConnection();
nc.connect("rtmp://localhost/LiveStreams");
nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
}
private function onNetStatusHandler(evt:NetStatusEvent):void
{
if(evt.info.code=="NetConnection.Connect.Success")
{
ns=new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
ns.client=new CustomClient();
video=new Video();
video.attachNetStream(ns);
ns.play("1111");//1111為流的名字,對應于視訊流釋出端的publish("1111","live").
addChild(video);
}
}
}
}
---------------------------------
與之前的代碼很相似,這邊是play 1111,是以在釋出端的文本輸入框中也該輸入1111.