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