Общее·количество·просмотров·страницы

Java Dev Notes - разработка на Java (а также на JavaScript/Python/Flex и др), факты, события из АйТи

пятница, 9 апреля 2010 г.

Захват видео во флеше

Рассмотрим, как показывать видео, захваченное с веб-камеры пользователя во флешке.
Перейдем сразу к коду.

Файл camtest_min.mxml:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
verticalAlign="middle"
backgroundColor="white">
 
<mx:Script>
<![CDATA[
private function videoDisplay_creationComplete():void {
trace('[camtest.videoDisplay_creationComplete]');
var camera:Camera = Camera.getCamera();
if (camera) {
trace('[camtest.videoDisplay_creationComplete] camera is OK');
videoDisplay.attachCamera(camera);
camera.addEventListener(ActivityEvent.ACTIVITY, camera_activity);
camera.addEventListener(StatusEvent.STATUS, camera_status);
} else {
trace('[camtest.videoDisplay_creationComplete] perhaps there is no camera on this computer');
}
}
 
private function camera_activity(evt:ActivityEvent):void {
trace('[camtest.camera_activity], evt.type='+evt.type+', evt.activating='+evt.activating);
}
 
private function camera_status(evt:StatusEvent):void {
trace('[camtest.camera_status], evt.code='+evt.code);
switch (evt.code) {
case "Camera.Muted":
// do smth
break;
case "Camera.Unmuted":
// do smth
break;
}
}
]]>
</mx:Script>
 
<mx:VideoDisplay id="videoDisplay"
creationComplete="videoDisplay_creationComplete();"
width="320"
height="240" />
 
</mx:Application>
 


Скомпилируем код следующей командой:


%SDKDIR%\bin\mxmlc -optimize=true -o camtest_min.swf camtest_min.mxml


После этого, открыв файл в браузере, получим изображение с камеры.
Во флешке вылезет окошечко с запросом на разрешение доступа к микрофону и камере.
Это окошко появляется в момент, когда камера аттачится к VideoDisplay.

Чуть более подробно можно посмотреть по ссылке Detecting changes in a camera’s activity and status in a Flex VideoDisplay control

Комментариев нет:

Отправить комментарий

Постоянные читатели