AIR AS3 Android前置摄像头

时间:2012-12-21 21:25:48

标签: actionscript-3 air flash-cs5

我正在尝试使用下面的代码在Android设备上使用前置摄像头。权限设置正确但似乎不起作用。当我删除CameraPosition.Front from getCamera时,它可以正常访问设备标准相机。有什么建议 ?

var cam:Camera = Camera.getCamera(CameraPosition.FRONT); 
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); 
} 

1 个答案:

答案 0 :(得分:3)

这不是如何引用相机。使用position类实例的Camera参数确定相机的位置。

一个例子:

var frontCamera:Camera = tryGetFrontCamera();
if (!frontCamera) {
    //Front facing camera unavailable
}

...

public function tryGetFrontCamera():Camera {
    var numCameras:uint = (Camera.isSupported) ? Camera.names.length : 0;
    for (var i:uint = 0; i < numCameras; i++) {
        var cam = Camera.getCamera(String(i));
        if (cam && cam.position == CameraPosition.FRONT) {
            return cam;
        }
    } 
    return null;
}

Documentation