Skip to main content
Participating Frequently
March 29, 2017
Question

Rotate Camera Feed 90 Degrees

  • March 29, 2017
  • 1 reply
  • 839 views

I'm trying to rotate a camera feed so it's the correct orientation. It's using the front facing camera on an android phone.

      public function setupCamera(param1:int, param2:int) : void

      {

         this.camera = Camera.getCamera("1");

         this.camera.addEventListener(StatusEvent.STATUS,this.camStatusHandler);

         this.camera.setMode(param1,param2,stage.frameRate);

         this.video = new Video(param1,param2);

  this.video.rotation = 90;

         this.video.scaleX = -1;

         this.video.x = this.video_placement.x + this.video_placement.width;

         this.video.y = this.video_placement.y;

         this.video.attachCamera(this.camera);

         addChildAt(this.video,0);

      }

This topic has been closed for replies.

1 reply

Inspiring
March 30, 2017

First of all, you can get rid of all those 'this.' in your code. AS3 doesn't have scope issues like as2 did. I have not had to use this for years aside from one or two edge cases.

Also you should set your camera frame rate to something like 24 or 30 - stage frame rate which is typically 60 is too  much for cam.

Anyway, does the code you use there not work? It's not rotating?

What I do for camera control (and I pretty much make photo booths for a living) is to make a video object like you did, attach the camera - and then not put video on stage. Leave it sit in memory and then image it, in an update loop, into a bitmap that is on stage.

This way you can easily rotate it, flip it, add overlays, etc.

simple example:

cam = Camera.getCamera();

cam.setMode(1280, 865, 24);

theVideo = new Video(1280, 865);

camData = new BitmapData(1280, 865);

camBMP = new Bitmap(camData);

theVideo.attachCamera(cam);

addChild(camBMP);

camTimer = new Timer(1000 / 24); //24 fps cam update

camTimer.addEventListener(TimerEvent.TIMER, camUpdate);

camTimer.start();

private function camUpdate(e:TimerEvent):void

{

  camBMP.draw(theVideo, null, null, null, null, true);

}

Owensb7Author
Participating Frequently
March 30, 2017

Thank you for the response.

I removed all the ".this" and it broke it completely. No more camera feed.

As for the issues, yes, it just doesn't rotate.