import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.media.Camera;
import flash.events.MouseEvent;
import flash.net.NetStream;
import flash.media.Microphone;
import flash.utils.ByteArray;
const SERVER_ADDRESS:String = "rtmfp://p2p.rtmfp.net/";
const DEVELOPER_KEY:String = "key";
var conn:NetConnection;
var streamOut:NetStream;
var streamIn:NetStream;
var myPeerID:String;
var farID:String;
function connect(){
clearInterval(myInterval);
conn = new NetConnection();
conn.addEventListener(NetStatusEvent.NET_STATUS,netStatus);
conn.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErr);
conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
conn.connect(SERVER_ADDRESS+DEVELOPER_KEY);
}
function asyncErr(event:AsyncErrorEvent){
trace("esyncerror:"+event);
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
function initOutStream():void{
trace("initOutStream\n");
streamOut = new NetStream(conn,NetStream.DIRECT_CONNECTIONS);
streamOut.addEventListener(NetStatusEvent.NET_STATUS,netStatus);
streamOut.publish("media");
var cam:Camera = Camera.getCamera();
camOut.attachCamera(cam);
streamOut.attachCamera(cam);
streamOut.attachAudio(Microphone.getMicrophone());
var streamOutClient:Object = new Object();
streamOutClient.onPeerConnect = function(farStream:NetStream):Boolean{
initInStream(farStream.farID);
return true;
}
}
function pal(event:MouseEvent):void{
initInStream(farID);
}
function initInStream(farID:String):void{
trace("initInStream: ");
streamIn = new NetStream(conn,farID);
streamIn.addEventListener(NetStatusEvent.NET_STATUS,netStatus);
streamIn.play("media");
streamIn.client = this;
camIn.attachNetStream(streamIn);
}
//netstatus function
function netStatus(event:NetStatusEvent):void{
trace(event.info.code);
switch(event.info.code){
case "NetConnection.Connect.Success":
myPeerID = conn.nearID;
txtMyPeerID.text = myPeerID;
send_peer();
initOutStream();
break;
case "NetStream.Connect.Success":
break;
case "NetStream.Connect.Closed":
conn.close(); remove_status(); streamOut.close();
camOut.attachCamera(null);
gotoAndStop(4);
break;
case "NetStream.Play.Start":
if(farID == null){
trace('play start:'+event.target.peerStreams[0].farID);
txtFarPeerID.text = event.target.peerStreams[0].farID;
farID = event.target.peerStreams[0].farID;}
break;
}
}
//sending mypeedid and call_to_id
function send_peer(){
if(call_to_id){
var urlreq = new URLRequest("http://somescript.php");
urlreq.method = URLRequestMethod.POST;
var urlvars = new URLVariables();
urlvars.call_to = call_to_id;
urlvars.peerid = myPeerID;
urlreq.data = urlvars;
var loader:URLLoader = new URLLoader(urlreq);
loader.addEventListener(Event.COMPLETE, confirm);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(urlreq);
}
}
function confirm(event:Event){
trace(event.target.data.s);
}
function remove_status(){
farID = null;
var urlreq = new URLRequest("http://some_script.php");
urlreq.method = URLRequestMethod.POST;
var urlvars = new URLVariables();
urlvars.remove_my = idd;
urlvars.remove_to = call_to_id;
urlreq.data = urlvars;
var loader:URLLoader = new URLLoader(urlreq);
loader.addEventListener(Event.COMPLETE, remove_complete);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(urlreq);
}
function remove_complete(event:Event){
trace(event.target.data.aa);
}
// eventhandler for buttons
init.addEventListener(MouseEvent.CLICK,pal);
end_call.addEventListener(MouseEvent.CLICK,call_end);
function call_end(event:MouseEvent){
conn.close(); remove_status();
//streamOut.close();
camOut.attachCamera(null);
gotoAndStop(4);
}
오류 ::오류 # 1069 : 부동산 startTransmit은 flash.net.NetStream의 발견 및 기본값을
1) 오류 # 1069가 없습니다 : 부동산 startTransmit가 flash.net.NetStream의를 찾을 수 없습니다 및 기본값은 없습니다.
2) 오류 # 2044 : 처리되지 않은 AsyncErrorEvent :. text = 오류 # 2095 : flash.net.NetStream이 콜백 startTransmit을 호출 할 수 없습니다. error = ReferenceError : 오류 # 1069 : flash.net.NetStream에서 startTransmit 속성을 찾을 수 없으며 기본값이 없습니다.
사람이 전화를 걸려는 사람에게 데이터베이스에있는 neerid를 보내면 다른 사람이 그 neerid와 initInStream (farID : 문자열)을받습니다. 기능이 시작되면 스트림 및 스트림이 시작됩니다. 내가 전화를 걸고있는 사람에게 전화를 걸지 만, 전화를받을 때 수신을 클릭하면 전화가 걸려 오는 사람에게 오류가 발생합니다.
그것은 바탕 화면에 근무하지만 작업하지 안드로이드 .. 왜 그런 생각이 .. .. – shefali
@shefali 당신은 전체 애플 리케이션이나 특정 지점에 대해 말하고 있습니까? – akmozo