Video is not running smoothly: Need Help: Have really short time

38 views
Skip to first unread message

bismillah rawthar

unread,
Feb 27, 2013, 8:50:05 AM2/27/13
to flartool...@googlegroups.com
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.media.Video;
import flash.media.Camera;
import flash.display.BitmapData;
import flash.events.Event;
import org.libspark.flartoolkit.core.param.FLARParam;
import org.libspark.flartoolkit.core.FLARCode;
import org.libspark.flartoolkit.core.raster.rgb.FLARRgbRaster_BitmapData;
import org.libspark.flartoolkit.detector.FLARSingleMarkerDetector;
import org.libspark.flartoolkit.support.pv3d.FLARCamera3D;
import org.libspark.flartoolkit.support.pv3d.FLARBaseNode;
import org.papervision3d.view.Viewport3D;
import org.libspark.flartoolkit.core.transmat.FLARTransMatResult;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.lights.PointLight3D;

import org.papervision3d.objects.primitives.Cube;
        import flash.net.NetConnection;
import flash.net.NetStream;
import org.papervision3d.materials.VideoStreamMaterial;
import org.papervision3d.materials.utils.MaterialsList;
[SWF(width="640", height="480", frameRate="30", backgroundColor="#FFFFFF")]
public class PrimitiveTest extends Sprite {
[Embed(source="Data/camera_para.dat", mimeType="application/octet-stream")]
private var camera_para:Class;
[Embed(source="Data/2mmgoogle.pat", mimeType="application/octet-stream")]
private var marker_pattern1:Class;
private var flar_param:FLARParam;
private var flar_code1:FLARCode;
private var video:Video;
private var video1:Video;
private var camera:Camera;
private var bitmapdata:BitmapData;
private var raster:FLARRgbRaster_BitmapData;
private var detector1:FLARSingleMarkerDetector;
private var scene:Scene3D;
private var flar_camera:FLARCamera3D;
private var container1:FLARBaseNode;
private var viewport:Viewport3D;
private var bre:BasicRenderEngine;
private var transmatresult:FLARTransMatResult;
private var pl:PointLight3D;
private var cube:Cube;
private var con:NetConnection;
private var stream:NetStream;
private var vsm:VideoStreamMaterial;
private var customClient:Object;
public function PrimitiveTest() {
setupFLAR();
setupCam();
setupBitmapData();
setupPV3D();
addEventListener(Event.ENTER_FRAME, loop);
}
private function setupFLAR():void {
trace("in setuFLAR");
flar_param = new FLARParam();
flar_param.loadARParam(new camera_para() as ByteArray);
flar_code1 = new FLARCode(16, 16);
flar_code1.loadARPatt(new marker_pattern1());
}
private function setupCam():void {
trace("in setupCam");
video = new Video(640, 480);
camera=Camera.getCamera();
camera.setMode(640, 480, 30);
video.attachCamera(camera);
addChild(video);
}
private function setupBitmapData():void {
trace("in setupBitmapData");
bitmapdata = new BitmapData(640, 480);
bitmapdata.draw(video);
raster = new FLARRgbRaster_BitmapData(bitmapdata);
detector1 = new FLARSingleMarkerDetector(flar_param, flar_code1, 80);
}
private function setupPV3D():void {
trace("in setupPV3D");
customClient = new Object();
customClient.onMetaData = metaDataHandler;
scene = new Scene3D();
flar_camera = new FLARCamera3D(flar_param);
container1 = new FLARBaseNode();
viewport = new Viewport3D(640, 480);
bre = new BasicRenderEngine();
transmatresult = new FLARTransMatResult();
con = new NetConnection();
con.connect(null);
stream = new NetStream(con);
stream.client = customClient;
stream.play("Data/1.flv");
stream.pause();
video1 = new Video;
video1.attachNetStream(stream);
//addChild(video1);
vsm = new VideoStreamMaterial(video1, stream);
var ml:MaterialsList = new MaterialsList();
ml.addMaterial(vsm, "all");
cube = new Cube(ml, 100, 0, 100);
container1.addChild(cube);
scene.addChild(container1);
addChild(viewport);
}

private function metaDataHandler(infoObject:Object):void {
  video1.width = infoObject.width;
  video1.height = infoObject.height;
}
private var boo:Boolean=true;
private function loop(e:Event):void {
trace("in loop");
bitmapdata.draw(video);
try {
if(detector1.detectMarkerLite(raster, 80) && detector1.getConfidence()>0.5) {
trace("detector1");
                                        if(boo)
{stream.resume();stream.client = customClient;
boo=false;}
cube.visible=true;
detector1.getTransformMatrix(transmatresult);
container1.setTransformMatrix(transmatresult);
bre.renderScene(scene, flar_camera, viewport);
}
else {stream.pause();boo=true;bre.renderScene(scene, flar_camera, viewport);}
}
catch(e:Error) {}
}
}
}

bismillah rawthar

unread,
Feb 27, 2013, 9:47:25 AM2/27/13
to flartool...@googlegroups.com
using cube as plane is not working properly
Reply all
Reply to author
Forward
0 new messages