Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Iwan

#1
No se, es todo muy raro, ahora me sigue dando el mismo error pero parece que traga con él, se abre el JFrame que se tiene que abrir pero en el Jpanel que añado el componente aparece una pantalla rosa. Cuando minimizo el JFrame, en la parte que estaba al Jpanel y sobre cualquier tipo de ventana (escritorio, navegador, otras ventanas, el propio NetBean) aparece una captura de la webCam correspondiente al momento de minimizar la ventana... Dejo el código por si sirviese de ayuda para solucionar esto que me trae ya de cabeza...:

el actionPerformance que llama al Jframe:
   
       
       private void VideoCamActionPerformed(java.awt.event.ActionEvent evt) {                                        
       // TODO add your handling code here:
       //Se pide el nombre del nuevo directorio. Y se crean los directorios de las
       //distintas emociones en él.
       IODialog entradaSalida = new IODialog();
       String pathBaseDD;
       String directorioFuente = entradaSalida.readLine("Introduce el \n"
                              + "nombre de la nueva base de datos");

       pathBaseDD = CreaDirectoriosBaseDatos(directorioFuente);
       
       // Se crea el objeto        
       VentanaWebCam h1 = new VentanaWebCam();
       // se añade al jDesktopPane
       jDesktopPane1.add(h1);
       h1.SetPath(pathBaseDD);
       //se muestra en pantalla
       h1.setVisible(true);        
   }


la parte del JFrame implicada:


   public VentanaWebCam() {
       initComponents();
       VideoPanel.add(video.Componente());
   }


La clase que maneja la webCam:


public class VideoJMF {
   //Controlador universal de windows
   private String dispositivo = "vfw:Microsoft WDM Image Capture (Win32):0";
   private Player player = null;

   public Component Componente(){
   Component componente_video;
       try {
           
           // Se obtiene el dispositivo        
           
           MediaLocator localizador = new MediaLocator("vfw:\\Device\\0000008b");  

           player = Manager.createRealizedPlayer(localizador); //Aqui sale la ventana //que me pregunta por el dispositivo de captura de video y da el error //java.io.IOException: Could not connect to capture device sin embargo ya solo //sale una vez y la aplicacion sigue su curso. Salvo por el problema de la pantallita //rosa :S

           player.start();            
       } catch (IOException ex) {
           Logger.getLogger(VideoJMF.class.getName()).log(Level.SEVERE, null, ex);
       } catch (NoPlayerException ex) {
           Logger.getLogger(VideoJMF.class.getName()).log(Level.SEVERE, null, ex);
       } catch (CannotRealizeException ex) {
           Logger.getLogger(VideoJMF.class.getName()).log(Level.SEVERE, null, ex);
       }
       //Si se pudo crear el PLAYER, se obtiene el componente de video
       if ((componente_video = player.getVisualComponent()) != null) {
               //se da un tamaño al componente
               //componente_video.setSize(320, 240);
               return componente_video;
           } else {
               JOptionPane.showMessageDialog(null,"No se pudo crear el video...");
               return null;
           }
   }

}


Saludos
#2
Hola, tenía un código muy parecido al tuyo cyberserver pero me aparecía el error "java.io.IOException: Could not connect to capture device" así que he probado a copiar el tuyo literalmente, el caso es que en el momento de la llamada p = Manager.createRealizedPlayer(ml); sigo teniendo exactamente el mismo problema: me salta una ventana con titulo "Origen de video"  y dentro una pestaña que dice "origen de la captura". En ella selecciono la única opción que es el nombre de mi webcam me da la excepción y entonces me salta nuevamente la ventana me vuelve a dar la excepcion y ya salta a la excepción propia del contructor. He consultado ya en mil sitios pero no encuentro solución... alguna sugerencia??

Un saludo y gracias de antemano