Hay momentos en la vida en los que las circunstancias exigen poder visualizar múltiples webcams mediante una aplicación Flash. Pues bien, antes de que ese día llegue, habrá que estar preparado.
Primero se hará el procedimiento en ActionScript 2, usando Flash 8. Los pasos en general son los mismos:
Capturar las cámaras conectadas al sistema
Crear un listado de las cámaras obtenidas
Visualizar la cámara seleccionada
¿ Cómo reproducir lo anterior en ActionScript 2 ?
Capturar las cámaras conectadas al sistema Flash Player nos permite usar cualquier cámara de cualquier tipo conectada al PC, siempre y cuando ésta se encuentre debidamente configurada. Para conseguir el listado completo, bastará con usar la propiedad names:
Código :
Camera.names
Crear un listado de las cámaras obtenidas El código anterior retornará un Array con nuestra información, así que lo visualizamos a través del bonito componente List:
Código :
//capturando listado de cámaras conectadas al sistema
camaras_array = Camera.names;
if(camaras_array.length > 0){
//recorriendo el vector con los nombres de las cámaras
for(var c in camaras_array){
//agregando la cámara al listado del componente
camaras.addItem({data:c, label:camaras_array[c]});
}
}
Visualizar la cámara seleccionada Una vez tenemos el índice de la cámara seleccionada, se inicia la captura y puesta en escena del video:
Código :
//el componente List se llama camaras
var camara_cam:Camera = Camera.get(camaras.selectedItem.data);
//vinculando la cámara seleccionada al componente de video en el escenario
video.attachVideo(camara_cam);
Ahora en ActionScript 3 con Flash CS3
En ActionScript 3 el proceso es el mismo respetando la debida sintaxis requerida para cada paso, sin embargo los cambios específicos para cumplir el objetivo son dos:
Componente video Para este tip se ha creado el componente vídeo de manera dinámica y se ha agregado al escenario a través de un Sprite:
Código :
var video :Video = new Video();
//definiendo el tamaño
video.width = 320;
video.height = 240;
//contenedor para el video
var contenedor:Sprite = new Sprite();
//se agrega el video al contenedor
contenedor.addChild(video);
//se agrega el contenedor al escenario
addChild(contenedor);
//se ubica el contenedor dentro del escenario
contenedor.x = 12;
contenedor.y = 50;
Captura del video Mientras que en AS2 se hacía uso del método get, en AS3 su nombre es getCamera:
Código :
//cargando el video de la cámara seleccionada
var camara_cam:Camera = Camera.getCamera(camaras.selectedItem.data);
Y bien, si estas porciones de código no son suficientes, aún pueden descargar los fuentes para cada versión de AS y desbaratarlos: WebCam con AS2 WebCam con AS3
Nota :
Importante: Si se trata de webcam's, o en general de cámaras USB, habrá que entender que cada dispositivo USB tiene un ancho de banda limitado. Por lo tanto, inicialmente no se podrá visualizar al mismo tiempo más de 1 cámara de este tipo