Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AdobeAIR,何时检测网络摄像头被拔出?_Air_Actionscript 3 - Fatal编程技术网

AdobeAIR,何时检测网络摄像头被拔出?

AdobeAIR,何时检测网络摄像头被拔出?,air,actionscript-3,Air,Actionscript 3,我已尝试检查活动、fps和状态。在as3/air中拔下活动摄像头时,不会触发任何内容。有人找到工作方法了吗?在我的例子中,我有一个运行AIR2.7的信息亭,运行两个网络摄像头。在某些情况下,usb网络摄像头可能会被拔下并重新插入。我一直试图找到一种方法来检测它何时被拔出,这样我就可以重新启动它。想法?不幸的是,我没有USB摄像头来测试这一点(只有insight) 您可以尝试ActivityEvent并将motionlevel设置为某个较低的值 当摄像机中检测到运动时,ActivityEvent将

我已尝试检查活动、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摄像头