AdobeAIR,何时检测网络摄像头被拔出?
我已尝试检查活动、fps和状态。在as3/air中拔下活动摄像头时,不会触发任何内容。有人找到工作方法了吗?在我的例子中,我有一个运行AIR2.7的信息亭,运行两个网络摄像头。在某些情况下,usb网络摄像头可能会被拔下并重新插入。我一直试图找到一种方法来检测它何时被拔出,这样我就可以重新启动它。想法?不幸的是,我没有USB摄像头来测试这一点(只有insight) 您可以尝试ActivityEvent并将motionlevel设置为某个较低的值 当摄像机中检测到运动时,ActivityEvent将为您提供响应。我相信当摄像机物理断开连接时,活动事件应该触发,因为不会检测到任何活动 下面是一个例子:AdobeAIR,何时检测网络摄像头被拔出?,air,actionscript-3,Air,Actionscript 3,我已尝试检查活动、fps和状态。在as3/air中拔下活动摄像头时,不会触发任何内容。有人找到工作方法了吗?在我的例子中,我有一个运行AIR2.7的信息亭,运行两个网络摄像头。在某些情况下,usb网络摄像头可能会被拔下并重新插入。我一直试图找到一种方法来检测它何时被拔出,这样我就可以重新启动它。想法?不幸的是,我没有USB摄像头来测试这一点(只有insight) 您可以尝试ActivityEvent并将motionlevel设置为某个较低的值 当摄像机中检测到运动时,ActivityEvent将
import flash.media.Camera;
import flash.display.Stage;
import flash.media.Video;
import flash.events.ActivityEvent;
import flash.events.StatusEvent;
var camera:Camera = Camera.getCamera();
camera.setMode(stage.stageWidth, stage.stageHeight,25);
camera.addEventListener(ActivityEvent.ACTIVITY, activityEventHandler,false,0,true);
camera.setMotionLevel(3);
var video:Video = new Video();
video.width = stage.stageWidth;
video.height = stage.stageHeight;
video.attachCamera(camera);
addChild(video);
function activityEventHandler(a:ActivityEvent):void{
trace('Motion detected: '+a.activating);
}
注:
setMotionlevel默认值为50,所以如果将其设置为例如3,则相机仍会注意到一些小变化,甚至眨眼。这将帮助你检测是否有任何形式的运动。若并没有检测到任何运动,那个么相机可能是死的
您甚至可以将motionlevel设置为1,但该值非常敏感,即使房间闪电中最轻微的变化也可能被检测为运动
让我知道如果这有帮助,将有兴趣听到这个在实践中与真正的USB摄像头