Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Rotate Camera Feed 90 Degrees

New Here ,
Mar 29, 2017 Mar 29, 2017

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);

      }

TOPICS
ActionScript
762
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 30, 2017 Mar 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);

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 30, 2017 Mar 30, 2017
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines