Показать сообщение отдельно
Старый 27.04.2015, 02:24
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 4  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
Спасибо за отзывы!
Я не очень силён в AS3, переделал код, что бы работал в FD, но вот щас столкнулся с проблемой, наверно простой
Цитата:
log_tf - обычное текстовое поле для логирования (должно уже лежать на сцене)
а в FD это как сделать? Ну я могу во флеш проф выгрузить библиотеку swc, а что нужно в эту библиотеку запихнуть? Я вон ради интереса выгрузил простой мувик с таким именем, вроде даж как-то стартует, но сразу виснет, а FD ругается на "exception, information=TypeError: Error #1006: appendText is not a function." Помогите плиз
Код AS3:
package
{
 
	import flash.display.Sprite;
	import flash.events.NetStatusEvent;
	import flash.media.*;
	import flash.net.*;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.events.ActivityEvent;
 
	[SWF(width="800",height="600",frameRate="60",backgroundColor="0x1B1B1B")]
 
	public class Main extends Sprite
	{
		var mic:Microphone = Microphone.getMicrophone();
		var cam:Camera = Camera.getCamera();
		var nc:NetConnection = new NetConnection();
		var ns:NetStream;
		var log_tf:log_tf_mc = new log_tf_mc();
 
		public function Main()
		{
			cam.setMotionLevel(25, 5000);
			cam.setMode(320, 240, 30, false);
			cam.addEventListener(ActivityEvent.ACTIVITY, hMotion, false, 0, true);
 
			nc.addEventListener(NetStatusEvent.NET_STATUS, hNS, false, 0, true);
 
			var video:Video = new Video(stage.stageWidth, stage.stageHeight);
			addChild(video);
			addChild(log_tf);
			log_tf.text = "";
			video.attachCamera(cam);
		}
 
		function hMotion(e:ActivityEvent):void
		{
 
			if (e.activating)
			{
				log("camera on");
				if (!nc.connected)
					reconnect();
			}
			else
			{
				log("camera off");
				if (nc.connected)
					nc.close();
			}
		}
 
		function reconnect():void
		{
			if (nc.connected)
				nc.close();
			nc.connect("rtmp://127.0.0.1");
		}
 
		function hNS(e:NetStatusEvent):void
		{
			log(e.info.code);
			switch (e.info.code)
			{
				case "NetConnection.Connect.Success": 
					hConnect();
					break;
				case "NetConnection.Connect.Closed": 
					break;
			}
		}
 
		function hConnect():void
		{
			ns = new NetStream(nc);
			// add a listener so we know when our stuff is ready for recording
			ns.addEventListener(NetStatusEvent.NET_STATUS, hNS, false, 0, true);
			ns.client = {onMetaData: function(e)
				{
					trace("metadata:", e);
					trace(ns.bufferTime);
				}};
			ns.attachAudio(mic);
			ns.attachCamera(cam);
			var date:Date = new Date();
			var h = date.getHours();
			var m = date.getMinutes();
			var s = date.getSeconds();
			var d = date.getDay();
			var mo = date.getMonth();
			if (h < 10)
				h = "0" + h;
			if (m < 10)
				m = "0" + m;
			if (s < 10)
				s = "0" + s;
			if (d < 10)
				d = "0" + d;
			if (mo < 10)
				mo = "0" + mo;
			ns.publish(h + "-" + m + "-" + s + "_" + d + "_" + mo + "_" + date.getFullYear(), 'record');
		}
 
		function log(s:String):void
		{
			log_tf.appendText(((log_tf.text.length == 0) ? "" : "\n") + s);
			log_tf.scrollV = log_tf.numLines;
		}
	}
}