как вставить поток с веб-камеры между двумя слоями в actionscript?

В моем флеш-проекте у меня есть 3 слоя. задний слой содержит видео Flvplayback, средний слой содержит поток веб-камеры, передний слой содержит видео FlvPlayback (с прозрачным фоном).

потоковое видео с веб-камеры также прозрачно.

Я добавляю поток из следующего кода.

webCam=Camera.getCamera();
webCam.setMode(appWidth/scale,appHeight/scale,60);
video=new Video(appWidth/scale,appHeight/scale);
video.smoothing=true;
video.attachCamera(webCam);
bmpdata=new BitmapData(appWidth/scale,appHeight/scale);
bmpdata_bg=new BitmapData(appWidth/scale,appHeight/scale);
bmp=new Bitmap(bmpdata);
bmp.smoothing=true;
bmp.x = 256;
bmp.y = 374;
addChild(bmp);

и я обновляю этот поток веб-камеры, используя следующую функцию

function onFrameEnter(evt:Event):void {

 bmpdata.draw(video);

}

Я хочу знать, как добавить этот поток с веб-камеры на средний уровень и воспроизвести его. Есть ли способ добавить этот поток с веб-камеры в flvplayback на среднем уровне?


person Suravi    schedule 26.07.2014    source источник


Ответы (1)


Насколько я знаю, невозможно ссылаться на слои Flash IDE из Actionscript. Однако есть несколько обходных путей, которые вы можете сделать.

Один из них — иметь пустой экземпляр мувиклипа в желаемом слое с именем экземпляра mcStream. Затем вы можете использовать mcStream.addChild(bmp);.

Другой способ — обратиться к элементу, под которым он должен находиться (мы назовем его mcOverlay), и добавить его в его индекс. addChildAt(bmp, getChildIndex(mcOverlay)) Это добавит его туда, где находится оверлей, и поместит оверлей поверх него.

Я определенно рекомендую взглянуть на http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3.html

person MasterRoro    schedule 26.07.2014