2
グッドモーニング、複製ビデオストリームActionScript 3の
iはストリーミング用のCRTMP Serverを使用して、ビデオクラスに取り組んでいます。これはうまく動作しますが、私のソリューションでは、ビデオストリームを複製する必要があります(一部のエフェクトの場合)。
映画クリップを重複して探して、このような動画を複製しようとしました。
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
import flash.system.*;
import flash.utils.ByteArray;
public class Main extends MovieClip
{
public var netStreamObj:NetStream;
public var nc:NetConnection;
public var vid:Video;
public var vid2:Video;
public var streamID:String;
public var videoURL:String;
public var metaListener:Object;
public function Main()
{
init_RTMP();
}
private function init_RTMP():void
{
streamID = "szene3.f4v";
videoURL = "rtmp://213.136.73.230/maya";
vid = new Video(); //typo! was "vid = new video();"
vid2 = new Video();
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nc.client = {onBWDone: function():void
{
}};
nc.connect(videoURL);
}
private function onConnectionStatus(e:NetStatusEvent):void
{
if (e.info.code == "NetConnection.Connect.Success")
{
trace("Creating NetStream");
netStreamObj = new NetStream(nc);
metaListener = new Object();
metaListener.onMetaData = received_Meta;
netStreamObj.client = metaListener;
netStreamObj.play(streamID);
vid.attachNetStream(netStreamObj);
//vid2.attachNetStream(netStreamObj); // wont work
addChild(vid);
// addChild(vid2); // wont work either
//intervalID = setInterval(playback, 1000);
}
}
private function asyncErrorHandler(event:AsyncErrorEvent):void
{
trace("asyncErrorHandler.." + "\r");
}
private function received_Meta(data:Object):void
{
var _stageW:int = stage.stageWidth;
var _stageH:int = stage.stageHeight;
var _videoW:int;
var _videoH:int;
var _aspectH:int;
var Aspect_num:Number; //should be an "int" but that gives blank picture with sound
Aspect_num = data.width/data.height;
//Aspect ratio calculated here..
_videoW = _stageW;
_videoH = _videoW/Aspect_num;
_aspectH = (_stageH - _videoH)/2;
vid.x = 0;
vid.y = _aspectH;
vid.width = _videoW;
vid.height = _videoH;
vid2.x = 0;
vid2.y = _aspectH ;
}
}
ビデオストリームを複製する必要があります。 2同じvideoStreamのインスタンス。何が間違っているのですか?
ありがとうございました。
最も簡単な可能な方法は、これは私がのNetStreamを倍増しなければならないことを意味プレイヤークラス – www0z0k
の2つのインスタンスを作成することです。これは私が望むものではありません。私はこれをやろうとしましたが、ビデオは同期していませんでした。他のアイデア? – Glowhollow
私はBitmap.cloneごとにビデオを複製しようとしました。しかし、私にはサンドボックス違反があります。何か案は ?私は自分で調べようとします...しかし、助けは本当に感謝しています:) – Glowhollow