Usando JMF

3 respostas
pedroroxd

Pessoal, estou usando o JMF aqui em casa..
Tenho uma webcam integrada no computador...

Abri o jmf para ver qual é o vfw daqui:
[img]http://tibiaevents.webs.com/Imagem.png[/img]

Então fui executar um programa que peguei aqui no guj mesmo, vou postar só a parte que interessa:
private void initialize() {
        this.setLayout(new BorderLayout());
        this.setSize(600,500);
        this.add(getCaptura(), BorderLayout.SOUTH);
        this.setVisible(true);
        String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";
        di = CaptureDeviceManager.getDevice(str2);
        ml =  new MediaLocator("vfw:Microsoft WDM Image Capture (Win32):0");
        try {
            player = Manager.createRealizedPlayer(ml);
            player.start();
            Component comp;
            if ((comp = player.getVisualComponent()) != null) {
                add(comp, BorderLayout.NORTH);
            }
            add(captura, BorderLayout.SOUTH);
            } catch (Exception e) {
            e.printStackTrace();
        }

    }
Mas não dá certo! Sempre tenho esse erro: [color=red]javax.media.NoPlayerException: Cannot find a Player for :vfw:Microsoft WDM Image Capture (Win32):0[/color]

Lendo na internet sobre esse erro, vi que o erro esteja talvez no "vfw" que pode ser vários valores de acordo com o sistema e webs.
Testei também:
- vfw:Logitech USB Video Camera:0
- Microsoft WDM Image Capture:0
- vtw://0

Mas nenhum desses dá certo.. Pelo próprio programa da Sun (que tá na imagem) mostra que usa esse que eu estou usando mesmo!!

Ps.: Depois que instalei o JMF, não queria rodar no eclipse nada feito com jmf, ficava dando errors desse tipo nos imports:
[color=red]Access restriction: The type Buffer is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\ext\jmf.jar[/color]
Então eu fiz uma coisa aki e deu certo, mas não sei se é ruim fazer:
Fui até a pasta do jre6, e DELETEI a pasta chamada EXT, ae começou a rodar certinho... Será que tem algo a ver?

3 Respostas

pedroroxd

Ninguém aqui que meche ou já mecheu com isso sabe o que é??
É muito dificil achar bons tutoriais sobre isso, e todos só mandam usar o vtw://0, pq falam que ele detecta qualquer dispositivo… Pois bem, o meu não detectou…

Toda as mensagens desse e de outros foruns que eu acho alguém com a mesma dúvida não estão respondidas…
Agradeço.

Ps.: Uso windows XP, e o notebook é Acer (a webcam é Acer Crystal Eye Webcam)

pedroroxd

Pensei que essa dificuldade era comum, mas pelo jeito…
O que eu posso fazer?

GelioJr

No windows o comando é vfw://0

public static Player player = null;
public CaptureDeviceInfo di = null;
public MediaLocator ml = null;
 public void executa() { 
        di = CaptureDeviceManager.getDevice("vfw://0");
        ml = new MediaLocator("vfw://0");
        try {
            player = Manager.createRealizedPlayer(ml);
            player.start();

            Component comp;
            if ((comp = player.getVisualComponent()) != null) {
                add(comp, BorderLayout.CENTER);
            }
            add(jButton1, BorderLayout.SOUTH);
            this.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        player.close();
        player.deallocate();
        System.exit(0);
        
}

Porém no Linux ele não reconhece.

Criado 16 de novembro de 2010
Ultima resposta 9 de mai. de 2011
Respostas 3
Participantes 2