我在让 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);
}