*red5 の oflaDemo を使ってみる [#b47bdcb8]
#contents2_1(compact=true,depth=1-2)


**oflaDemo を使って、クライアント側を作成してみる [#o6666f21]
&br;
*内容 [#g21163b4]
-デモをインストールして、rtmp://localhost:1935/oflaDemo に Flash からアクセスしてみる。
-録画開始ボタンをクリックし、録画停止ボタンをクリックすると、サーバの stream フォルダに flv が保存される。&br;

&br;
*クライアント側(Flash)の作成 [#l42677fb]

**プログラム [#w316b84d]
#geshi(ActionScript){{

var _nc:NetConnection;
var _ns:NetStream;
var _camera:Camera;
var _microphone:Microphone;
var _video:Video;

var _startButton:Sprite;
var _stopButton:Sprite;


startConnection();

function startConnection():void
{
	trace("接続開始");
	_nc = new NetConnection();
	_nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
	_nc.connect("rtmp://localhost:1935/oflaDemo");
}

function netStatusHandler(e:NetStatusEvent):void
{

	trace("connected is: " + _nc.connected ); 
	trace("event.info.level: " + e.info.level); 
	trace("event.info.code: " + e.info.code);

	switch (e.info.code) 
	{ 
		case "NetConnection.Connect.Success": 
			initCamera();
			break; 
		case "NetConnection.Connect.Rejected": 
			trace ("Oops! the connection was rejected"); 
			break; 
		case "NetConnection.Connect.Failed": 
			break; 
		case "NetConnection.Connect.AppShutDown": 
			_nc.close(); 
			break; 
		case "NetConnection.Connect.Closed": 
			break; 
	}
}


function initCamera():void
{
	// カメラ表示
	_camera = Camera.getCamera();
	_camera.setMode(320, 240, 12);

	_microphone = Microphone.getMicrophone();
	_microphone.setSilenceLevel(0);

	_video = new Video(_camera.width, _camera.height);
	_video.attachCamera(_camera);
	addChild(_video);
	
	// ここ適当に書いてます

	// 録画開始ボタン表示
	addChild(_startButton);
	// 録画停止ボタン表示
	addChild(_stopButton);
	_startButton.addEventListener(MouseEvent.CLICK, startClickHandler);
}

function startClickHandler(e:Event):void
{
	_startButton.removeEventListener(MouseEvent.CLICK, startClickHandler);
	_stopButton.addEventListener(MouseEvent.CLICK, stopClickHandler);

	startRecord();
}

function stopClickHandler(e:Event):void
{
	_stopButton.removeEventListener(MouseEvent.CLICK, stopClickHandler);
	_startButton.addEventListener(MouseEvent.CLICK, startClickHandler);
	
	stopRecord();
}

function startRecord():void
{
	trace("録画開始");
	_ns = new NetStream(_nc);
	_ns.attachAudio(_microphone);
	_ns.attachCamera(_camera);
	
	var videoName:String = "DemoRecode";
	_ns.publish(videoName, "record");
}

function stopRecord():void
{
	trace("録画停止");
	if (_ns != null)
	{
		_ns.close();
	}
	
/*
	/*
	if (_video != null)
	{
		_video.attachCamera(null);
		_video.clear();
	}
*/
	*/
}

}}



&br;
*Comment [#v4f94e02]
#comment_nospam
&br;
#counter

IP:219.111.184.26 TIME:"2009-10-13 (火) 23:18:26" REFERER:"http://wiki.minaco.net/index.php" USER_AGENT:"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.0.14) Gecko/2009082706 Firefox/3.0.14 GTB5"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS