Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   скриншот с live-видео (http://www.flasher.ru/forum/showthread.php?t=181541)

arkc 26.06.2012 11:01

скриншот с live-видео
 
Привет всем.

Суть проблемы: нужно получить скриншот из видео плеера
вот код:
Код AS3:

private var videoObj: Video;        
 
public function saveSShot(event: MouseEvent):void
{       
var jPEGEncoder:JPEGEncoder = new JPEGEncoder(500);                                                       
try {               
    var imageSnapshot:ImageSnapshot = ImageSnapshot.captureImage(videoObj, 0, jPEGEncoder);               
}catch (e: Error) {
    log(e.name);
    log(e.message);                               
}
    var fileReference:FileReference = new FileReference();                       
    fileReference.save(imageSnapshot.data, "img123.jpg");
}

т.е. тыкаем кнопочку -> получаем окошко куда сохранить файл.
Все прекрасно работает до тех пока не проигрывается видео (т.е. скриншорты черных прямоугольничков делаются отлично), как только начинаем проигрывать видео (и вообще после того когда в videoObj появилась картинка), то при попытке получить скриншот вылетает

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".

Находил аналогичный пример, но с веб-камерой, а вот с netstream'ом не работает:(

Как вылечить? Кто-нибудь делал что-то подобное?

strangedk 26.06.2012 12:32

Ну ошибка говорит о том что у вас что-то не инициализировано.

Номер строки разве не предоставляется в ошибке?

arkc 26.06.2012 14:18

ну ошибка то именно на var imageSnapshot:ImageSnapshot = ImageSnapshot.captureImage(videoObj, 0, jPEGEncoder);

Если в videoObj не выводить поток, то скрин делает без проблем, ошибка начинает вылетать только после того как передали поток, так что сомневаюсь что дело тут в инициализации.

Пробывал делать скриншот используя BitmapData.draw(), тогда вылетала ошибка #2122.

Видимо эти два способа между собой как-то связаны, и сделать скриншот без разрешения на сервере не получится :(


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

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