Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   StageVideo и BitmapData (http://www.flasher.ru/forum/showthread.php?t=203984)

uglan 14.10.2013 15:10

StageVideo и BitmapData
 
Привет!
Есть какой-то способ достать кадр из виде в битмапдате или другом формате пригодном для дальнейшего использования как DisplayObject? На bytearray.org есть инфа (http://www.bytearray.org/?p=2571) по этому поводу всколзь, но я не понял как именно стоит выгонять битмапу из video объекта.

alatar 14.10.2013 15:53

StageVideo не получится отрисовать в BitmapData. Если в качестве источника видео используется Camera, то можено получить BitmapData из нее. В SimpleStageVideo описысваемом на bytearray используется переключение между StageVideo и Video (flash.media.Video), который является наследником DisplayObject и, соответственно, может быть отрисован в BitmapData.

uglan 14.10.2013 15:55

И переключение это происходит при событии SimpleStageVideoToggleEvent.TOGGLE?

Я почему спрашиваю, вот к примеру код SimpleStageVideoToggleEvent и здесь все возвращаемые значения строковые. А с этим каши не сваришь... Как из этого можно получить объект video?

alatar 14.10.2013 16:39

Нет, переключение происходит при вызове метода toggle(false).

uglan 14.10.2013 18:08

Что-то не выходит никак:(
Код AS3:

simpleStageVideo.addEventListener(SimpleStageVideoToggleEvent.TOGGLE,onToggle);

Код AS3:

stage.addEventListener(MouseEvent.CLICK,onClick)
private function onClick(e:MouseEvent):void{
simpleStageVideo.toggle(true);
}

Код AS3:

private function onToggle(o:Object):void{
trace("TOGGLE!");
var underlyingStageVideo:StageVideo = simpleStageVideo.stageVideo;
var underlyingVideo:Video = simpleStageVideo.video;
bmd.draw(underlyingVideo);
}

В таком виде нет результата:( Видео играет, onToggle срабатывает, но кадр из видео в битмапдату не перерисовывается. Что не так?

Добавлено через 49 минут
Получилось достать битмапдату из кадра и в обычном StageVideo из Video. Не понял, почему везде пишут что этого сделать нельзя... :)

alatar 15.10.2013 01:52

Цитата:

Сообщение от uglan (Сообщение 1148677)
В таком виде нет результата:( Видео играет, onToggle срабатывает, но кадр из видео в битмапдату не перерисовывается. Что не так?

Должно быть simpleStageVideo.toggle(false);

Цитата:

Сообщение от uglan (Сообщение 1148677)
Получилось достать битмапдату из кадра и в обычном StageVideo из Video.

Вы в этой фразе противоречий не видите?

uglan 16.10.2013 23:41

Да, понял ошибку, но, честно говоря, отличий между StageVideo и Video я не заметил(не ХД), а возможность грабить кадр в моем случае важнее. Спасибо!)

alatar 17.10.2013 14:54

Отличия у них кардинальные. Video визуализируется флеш-плеером, а StageVideo операционкой. Грубо говоря плеер предоставляет операционной системе область в которую можно отрисовывать декодированное видео и источник видео и больше в этот процесс не вмешивается.


Часовой пояс GMT +4, время: 09:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.