我正在尝试将相机流附加到视频对象(正常工作)。唯一的问题是,在流出现之前最多有4秒的延迟。将事件监听器添加到视频对象(如VideoEvent.READY)或类似于事件.ACTIVATE的camerea对象似乎不会被抛出。 (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
}
谢谢你!
答案 0 :(得分:1)
尝试这样的事情:
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...
}
}