[英]Flash AS3 and webcam: problems with AIR
我在使Flash AS3相机正常工作时遇到一些问题。 如果可以帮助,不胜感激。 我看着ol的细节:
发布到SWF时,我能够启动并运行网络摄像头,并且一切正常,然后弹出“我可以访问您的摄像头对话框”,该对话框返回是否静音。
•第一个问题:有没有办法做到这一点,以便我可以绕开用户权限,即始终授予它? 我们正在运行信息亭应用。 以下方法适用于AIR应用程序吗? https://stackoverflow.com/questions/3266939/flash-grant-access-to-webcam-programmatically-behind-the-scenes
•第二个问题:正如我所说,在IDE和浏览器中发布SWF时,我可以使网络摄像头/相机连接正常运行。 但是,如果我将项目切换为针对AIR发布并运行air应用程序,或者在IDE中进行测试,则根本不会出现安全权限对话框。 没有。 也许安全盒不在屏幕上? 有什么方法可以控制位置? 在AIR中使用网络摄像头有什么不同吗?
我很高兴不发布到AIR,而是使用SWF —仅需要能够读取/写入本地磁盘上的XML文件,并认为AIR唯一的方式可以做到这一点?
谢谢你的帮助!
编码:
private function initTracking() : void
{
var camW : int = 840;
var camH : int = 640;
// Create the camera
_cam = Camera.getCamera();
if (_cam == null)
{
trace("Unable to locate available cameras.");
return;
}
else
{
trace("Found camera: " + _cam.name);
_cam.addEventListener(StatusEvent.STATUS, camStatusHandler);
_cam.setMode(camW, camH, stage.frameRate);
// Create a video
_vid = new Video(camW, camH);
_vid.attachCamera(_cam);
trace("camera ", _cam, " attached to video ", _vid);
// Create the Motion Tracker
_motionTracker = new MotionTracker(_vid);
// We flip the input as we want a mirror image
_motionTracker.flipInput = true;
}
}
private function camStatusHandler(event:StatusEvent):void
{
trace("camStatusHandler::");
if (_cam.muted)
{
trace("Unable to connect to active camera.");
}
else
{
trace("able to connect to active camera.");
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler, false,0,true);
}
// Remove the status event listener.
_cam.removeEventListener(StatusEvent.STATUS, camStatusHandler);
}
如果您以AIR的身份发布,则不会出现安全对话框(swfs的安全框在那里可以阻止“黑客”在他们不知情的情况下控制用户的网络摄像头)。
如果您的代码在swf中工作,那么它也应该在AIR应用程序中工作而无需进行任何更改-假设AIR在桌面而非移动设备上运行?
如果在发布为AIR应用程序时未看到网络摄像头输出,请发布相关代码。
编辑:
AIR应用程序不会发生StatusEvent.STATUS事件-当用户关闭安全对话框时会触发该事件-因此从不调用camStatusHandler。
因此,完全删除camStatusHandler函数以及以下代码行:
_cam.addEventListener(StatusEvent.STATUS, camStatusHandler);
并将重要的代码从camStatusHandler添加到initTracking的末尾:
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler, false,0,true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.