Je vais avoir du mal à redimensionner mon habitude UIComponent
qui enveloppent flash.media.Video
objet (La raison pour laquelle je choisis de cette façon parce que mx.control.VideoDisplay
ne prend pas en charge la lecture en continu qui sont disponibles dans flash.media.Video
qui est attachNetStream()
). Une fois que j'ai créé une taille 320x240 Video
et que je l'ai retirée de son parent, je ne peux pas la remplacer par une autre, plus grande ou plus petite.Redimensionner flash.media.Video
Voici mon code (celui-ci ne capture que la caméra et non NetStream).
package media
{
import flash.media.Camera;
import flash.media.Video;
import mx.controls.VideoDisplay;
import mx.core.UIComponent;
public class VideoUI extends UIComponent
{
private var video:Video;
public function VideoUI(width:int, height:int)
{
super();
video = new Video(width, height);
var cam:Camera = Camera.getCamera();
video.attachCamera(cam);
addChild(video);
}
}
}
L'autre partie,
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import media.VideoUI;
private function addVideoOutput():void
{
// initial video size
var video:VideoUI = new VideoUI(160,120);
HBoxVideo.addChild(video);
}
protected function resizeVideo(event:MouseEvent):void
{
var videoList:Array = HBoxVideo.getChildren();
for (var i:int = 0; i < videoList.length; i++)
{
var video:VideoUI = videoList.pop();
HBoxVideo.removeChild(video);
// new size that produce the previous size :(
video = new VideoUI(320, 240);
HBoxVideo.addChild(video);
}
}
]]>
</mx:Script>
<mx:Button click="addVideoOutput()" x="10" y="265" label="add"/>
<mx:HBox x="10" y="10" width="100%" id="HBoxVideo">
</mx:HBox>
<mx:Button x="58" y="265" label="resize" click="resizeVideo(event)" id="resizeButton"/>
</mx:Application>
Merci beaucoup.
Vous avez raison, je devrais avoir accès à la propriété Video à la place VideoUI. Mon mauvais. –