Comunidad de diseño web y desarrollo en internet

Cómo capturar múltiples webcams con Actionscript 2 y 3

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:

  1. Capturar las cámaras conectadas al sistema
  2. Crear un listado de las cámaras obtenidas
  3. 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

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate