[英]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.