Спасибо за отзывы!
Я не очень силён в 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;
}
}
}