0

我正在尝试使用下面的代码在 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); 
} 
4

1 回答 1

3

这不是参考相机的方式。使用类实例的position参数来确定Camera 的位置。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;
}

文档

于 2012-12-21T22:05:32.457 回答