【问题标题】:Is there any other alternate ways to access camera?还有其他访问相机的替代方法吗?
【发布时间】:2026-02-04 13:10:01
【问题描述】:

除了

,还有其他方法可以使用 ActionScript 3 访问相机吗?
import flash.media.Camera;
videoInstance.attachCamera(cameraInstance);

或者我应该使用任何 API 吗?如果是这样,请向我推荐任何合适的 API 和一些教程(如果可能)。

非常感谢您的帮助。 . .

我之前关于相机的帖子是
How to increase the Quality of the camera using AS3?

【问题讨论】:

  • 为什么您需要另一种方式?这个有什么问题? 哪种方式不能解决你的问题?
  • @Joachim... 这没有错。我需要比这更好的输出质量。也想知道有没有其他方法...

标签: flash actionscript-3 camera


【解决方案1】:

如果您需要更好的相机质量...请查看此 ActionScript Mobile Flex 项目。

这是主文件

package
{
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.ActivityEvent;
    import flash.events.MouseEvent;
    import flash.media.Camera;
    import flash.media.Video;

    public class iosTest extends Sprite
    {

        private var cam:Camera;
        private var vid:Video;


        public function iosTest()
        {
            super();

            // support autoOrients
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            cam = Camera.getCamera();

            if (!cam) 
            {
                trace("No camera is installed.");
            }
            else 
            {
                connectCamera();
            }
        }

        private function connectCamera():void 
        {
            cam.setMode(640, 480, 25); 
            cam.setQuality(0,100);
            vid             = new Video();
            vid.width       = cam.width;
            vid.height      = cam.height; 
            vid.attachCamera(cam);
            addChild(vid);    

            stage.addEventListener(MouseEvent.CLICK, clickHandler);
        }

        private function clickHandler(e:MouseEvent):void 
        {

            return;

            switch (cam.width) {
                case 160:
                    cam.setMode(320, 240, 10); 
                    break;
                case 320:
                    cam.setMode(640, 480, 5); 
                    break;
                default:
                    cam.setMode(160, 120, 15); 
                    break;
            } 
            removeChild(vid);           
            connectCamera();
        }

    }
}

【讨论】:

  • @TiMeister... 非常感谢,我得到了我需要的东西。有什么办法,有没有其他方法可以访问相机???
  • 我认为这是最好的方法,因为它可以确保您可以在任何设备上获取相机。我不知道任何其他更好的方法...如果您的设备有 2 个摄像头,例如 iPhone 4,您可以使用 Camera.getCamera(Index); 指定您想要的摄像头;