Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

4/3/11

JMF: Buscar Dispositivos

JAN29

Java Media Framwork ademas de permitir reproducir archivos multimedia, tambien permite trabajar con dispositivos de captura Audio/Video, para ello tiene a disposicion una amplia gama de comandos, entre los mas importantes, detectar que dispositivos se tienen instalados en la PC.


La siguiente clase, permite obtener una lista de los dispositivos actualmente instalados en la PC mediante la clase de JMF, CaptureDeviceManager, este nos permite obtener una lista de los dispositivos instalados. El CaptureDeviceManager también se utiliza para registrar la captura de nuevos dispositivos.


import javax.media.*;
import javax.media.cdm.CaptureDeviceManager;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class Buscar_Dispositivos {    

    public Buscar_Dispositivos(){}

    public void Escaner(){
        //se recorre la cantidad de Dispositivos que encuentra disponibles
        for(int i=0; i<CaptureDeviceManager.getDeviceList().size();i++){
            //se muestra uno por uno en pantalla
           System.out.println( ( (CaptureDeviceInfo) CaptureDeviceManager.getDeviceList().get(i) ).getName() );
        }
    }
}

Se ejecuta la clase desde un Main:


public class Main {
    public static void main(String[] args) {
      new Buscar_Dispositivos().Escaner();
    }
}

Resultado

9 comentarios:

David dijo...

hola, muchas gracias por tus aportes, he aprendido mucho sobre ellos, ya tenia un tiempo tratando de entenderlos, el unico que no he podido reproducir es el de captura de video, lo he intentado en 5 laptops diferentes, aunque unas solo tienen el JRE para reproducir los .jar bueno espero puedas ayudarme y
una pregunta, si quisiera hacer un programa que capturara sonido con JMF para llegar al dispositivo usaria "JavaSound audio capture" ????

Anónimo dijo...

Que tal David, tal vez ya encontraste la solucion a tu problema, sin embargo dejo una breve explicacion de utilizar una aplicacion basada en JMF. Tal vez sonara un poco obvio, sin embargo nosotros los usuarios finales debemos instalar el JRE, posteriormente instalamos en JFM. Una vez descargado el ejemplo, se copian las librerias (.jar) que se encuentran en la carpeta de instalacion del JMF y las pegas en la carpeta lib del proyecto descargado. Ahora basta con ejecutar el archivo jar que nos proporciona el proyecto descargado.
Si ocurre un error, te suguiero ejecutar el identificador de dispositivos que se encuentra en la carpeta del JMF en la carpeta bin. Si mal no recuerdo hay 4 archivos y una carpeta. El archivo se llama jmfinit que te reconoce los dispositivos conectados a tu ordenador.
Espero y esta explicacion te sirva a ti y a otras personas.
Hasta pronto.
A.t.t Un desarrollador de software libre.

Javier dijo...

Hola agradeciendote tus buenos tutorial, una pregunta, si no me sale nada, como poder instalar esos dispositivos en jmf, muchas gracias!

Mauricio Lago Hagar dijo...

Saludos, estoy tratando de probar en ubuntu y no me está saliendo, entiendo que importé la librería correcta jmf.jar
Se ejecuta sin ningún error pero simplemente no me muestra ningún hardware, es mas el for solo lo corre una vez.

Tengo una HP avilion dv6000 con una WebCam integrada (es la que quiero que me detecte), aclaro que si está instalado los drivers, porque hasta cualquier programa me lo ha detectado sim problemas. POR FAVOR ayudame.

Anónimo dijo...

Hola amigo necesito tu ayuda al correr la clase main si busca informacion pero solo encuentra:

DirectSoundCapture
JavaSound audio capture

y no me sale como el tullo, por que veo que en otros post posteriores a este lo utilizas para hacer una aplicación en netbeans para trabajar con tu cámara.

y entonces es mi duda por que mi webcam si funciona pero no lo reconoce el main

mouse dijo...

Si tu camara esta instalada pero no se ve en JMF, debes ejecutar el identificador de dispositivos, cuando instalas JMF se crea un acceso directo en el escritorio, debes entrar ahi

:)

Anónimo dijo...

Q tal soy LUIS

mira tengo el mismo problema que el de la persona anterior la clase si encuentra dispositivos pero unicamente los mismos

DirectSoundCapture
JavaSound audio capture

Entonces fui a JMStudio y fui a la parte donde dice peference y abri la pestaña Capture Devices.

Igual solo encuentra los mismos y le doy clic en Detect Capture devices y si encuentra "vfw:Microsoft WDM Image Capture (Win32):0"

pero la clase de netbeans sigue sin encontrarla, como le hago para que me funcione

ayuda porfavor

Unknown dijo...

hola ya lo instale en mi mac lo estoy trabajando corre perfecto pero no reconoce el dispositivo, cual puede ser la causa?

Unknown dijo...

Antes que nada dejame felicitarte por tus publicaciones, son muy buenas.
Quiero compartir con todos la forma en la que yo solucione el problema de que no encuentra dispositivos.

cuando ejecutaba el archivo jmfinit.exe mandaba un error en el commit por no tener permisos de acceso.

la forma de resolverlo fue la siguiente:
1.- fui a "C:\Program Files\JMF2.1.1e" le di clic derecho y en propiedades.
2.-ir a pestaña de seguridad.
3.-darle permiso de acceso a todos los usuarios que aparecen.
4.-Aplicar y aceptar.

volvi a a ejecutar el jmfinit.exe y ya no marco lo de los permisos.

posteriormente ejecute un de captura de video y se ejecuto correctamente.

Post recomendado