Actionscript 3 AdobeAIR AS3-前置摄像头
我目前正在使用下面显示的代码在Android设备上访问和显示摄像头。它工作正常,但我不想使用标准摄像头,而是想使用前置摄像头。我如何修改下面的代码来执行此操作?提前谢谢Actionscript 3 AdobeAIR AS3-前置摄像头,actionscript-3,air,flash-cs5,Actionscript 3,Air,Flash Cs5,我目前正在使用下面显示的代码在Android设备上访问和显示摄像头。它工作正常,但我不想使用标准摄像头,而是想使用前置摄像头。我如何修改下面的代码来执行此操作?提前谢谢 var cam:Camera = Camera.getCamera(); var vid:Video = new Video(); vid.attachCamera(cam); addChild(vid); if (cam != null) { cam.addEventListener(StatusEvent.
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索引值代码>,例如:
var camIndex:String = "1";
var cam:Camera = Camera.getCamera(camIndex);
如果上述修改没有改变任何内容,请尝试将camIndex的值更改为“0”、“2”、“3”,这取决于前摄像头注册的索引。试试看 在使用AdobeAIR开发应用程序时,在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();
}
私有函数getCamera(位置:字符串):Camera
{
对于(变量i:uint=0;i
通过传递相机名称有时不起作用,尤其是在基于ios的设备上。这个答案如何?