Добрый день! Помогите понять, это баг в работе камеры или нет?
Описание: получаем объект Camera, подписываемся на событие Event.VIDEO_FRAME, и при повторном вызове метода Camera.getCamera(), наш обработчик перестает срабатывать, хотя камера и все свойства работают корректно.
Пример:
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.media.Camera;
import flash.media.Video;
import flash.utils.setTimeout;
public class Main extends Sprite
{
public function Main()
{
var camera:Camera = Camera.getCamera();
camera.addEventListener(Event.VIDEO_FRAME, onVideoFrame_handler);
var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
setTimeout(function ():void
{
trace("get camera");
Camera.getCamera();
trace("now we will not receive the event");
}, 3000);
}
private function onVideoFrame_handler(event:Event):void
{
trace("on video frame");
}
}
}
PS. Такое поведение наблюдается на FlashPlayer и в AIR.
Добавлено через 11 минут
PS. Обработчики событий StatusEvent.STATUS и ActivityEvent.ACTIVITY тоже перестают срабатывать.