繁体   English   中英

Adobe AIR AS3-前置摄像头

[英]Adobe AIR AS3 - Front facing camera

我目前正在使用下面显示的代码在Android设备上访问和显示相机。 它工作正常,但我不想使用标准相机,而要使用前置相机。 如何修改下面的代码来做到这一点? 提前致谢。

var cam:Camera = Camera.getCamera(); 
var vid:Video = new Video(); 
vid.attachCamera(cam); 
addChild(vid);
if (cam != null) 
{ 
    cam.addEventListener(StatusEvent.STATUS, statusHandler); 
    vid = new Video(); 
    vid.attachCamera(cam); 
} 
function statusHandler(event:StatusEvent):void 
{ 
    if (!cam.muted) 
    { 
        vid.width = cam.width; 
        vid.height = cam.height; 
        addChild(vid); 

    } 
    cam.removeEventListener(StatusEvent.STATUS, statusHandler); 
} 

Camera.getCamera();传递前置摄像头的Cam索引值Camera.getCamera(); , 喜欢:

var camIndex:String = "1"; 
var cam:Camera = Camera.getCamera(camIndex); 

如果上述修改没有任何改变,请尝试将camIndex的值更改为“ 0”,“ 2”,“ 3”,这取决于您的前置摄像头所注册的索引。 试试吧!

使用Adobe Air开发应用程序时,在android和ios设备上获取前置摄像头的最佳方法是;

protected var _camera:Camera = null;    
_camera = getCamera(CameraPosition.FRONT);

接着

private function getCamera(position:String):Camera
    {
      for (var i:uint = 0; i < Camera.names.length; ++i)
      {
        var cam:Camera = Camera.getCamera(String(i));
        if (cam.position == position) return cam;
      }
      return Camera.getCamera();
    }

通过传递相机名称有时不起作用,尤其是在基于ios的设备中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM