As3AIR不必要的延迟,直到网络摄像头出现在视频中



我正在尝试将相机流附加到视频对象(工作正常)。唯一的问题是,在流出现之前会有长达4秒的延迟。将事件侦听器添加到视频对象(如VideoEvent.READY)或camerea对象(如event.ACTIVATE)似乎不会被抛出。(onReady将捕获事件类型为*的两个事件)。我需要知道,因为当屏幕是白色时,我想显示一个缓冲区,并在显示网络摄像头数据时将其删除。

我必须注册参加什么活动?

由于这是一个空中应用程序,我没有进行安全对话,以防这是你的第一枪;)

我是这样做的:

cam = Camera.getCamera();
cam.addEventListener(Event.ACTIVATE, onReady)
if (cam != null) {
    cam.setMode(1920, 1080, 25);
    cam.setQuality(0, 100);
    video = new Video();
    addChild(video);
    video.attachCamera(cam);
    video.addEventListener(VideoEvent.READY, onReady, false, 0, true);
    video.width = 1920;
    video.height = 1080
}

谢谢!

试试这样的东西:

function cameraActivityHandler(event:ActivityEvent){
    var cam:Camera = event.target as Camera;
    if(cam.activityLevel > 0){
       //Hide loading buffer...
    }
}
function initCamera():void{
  cam = Camera.getCamera();
  cam.addEventListener(ActivityEvent.ACTIVITY, cameraActivityHandler);
  if (cam != null) {
     cam.setMode(1920, 1080, 25);
     cam.setQuality(0, 100);
     video = new Video(1920,1080);
     addChild(video);
     video.attachCamera(cam);    
     //Show loading buffer...
  }      
}

最新更新