I полагаю, это как-то связано с тем, как сам плагин Flash инициализирует и отображает камеру.
Если вы настроили простой тест, чтобы попытаться установить и снять видеоstream:
var cam:Camera = Camera.getCamera();
var webcam:Video = new Video(500, 375);
addChild(webcam);
var isPaused:Boolean = false;
function showWebcam():void {
if (!isPaused) {
cam = null;
} else {
cam = Camera.getCamera();
}
webcam.attachCamera(cam);
isPaused = !isPaused;
}
pausingButton.addEventListener(MouseEvent.CLICK, showWebcam);
Вы заметите определенную паузу, когда она переключается между двумя состояниями.
Из того, что я видел, каждый раз, когда я звоню attachCamera()
с видеообъектом, при вызове метода происходит заметная пауза самого Flash Player (включая все анимации, взаимодействия, все, что угодно), даже если объект, который я присоединяю, равен null
.
Четыре секунды кажутся чрезмерной задержкой, но я заметил, что чем больше рендеринг ввода / видео и с smoothing = true
, установленным на видеообъекте, может повлиять на длительность задержки.
Что касается решения;Я не уверен, есть ли что-то достижимое с помощью чистого Actionscript, поскольку задержка, по-видимому, сводится к тому, как сам Flash Player инициализирует и визуализирует объект живого видео.