JMF + getVisualComponent()

8 respostas
julianofischer

Olá pessoal,
estou tentando fazer uma app para exibir uma imagem da webcam e o método player.getVisualComponent() está me retornando null.

obs.: Consegui detectar o dispositivo de vídeo e criar um player dele.

8 Respostas

phpinheiro

Juliano,

posta o código aí pro pessoal ter uma idéia melhor…

já usei jmf pra webcam, no meu caso eu jogava o video live da webcam direto em um jpanel. Mas pelo visualcomponent acredito ser mais fácil ainda.

Coloque pelo menos as inicializações do objeto Player…

saoj

Qual o estado do seu player quando vc chama getVisualComponent? Se eu me lembro tem que estar Realized.

E qual MediaLocator vc está usando? vfw?

julianofischer

Bom, eu comecei a "fuçar" no JMF essa semana e ainda não sei muita coisa.

Vector v = this.detectaDispositivos();
if (v.size() > 0) {
        this.dispositivo = (CaptureDeviceInfo) v.get(0);
}
ml = this.dispositivo.getLocator();
player = Manager.createRealizedPlayer(ml);

player.start();
Component c = player.getVisualComponent();
phpinheiro

Cara…isso tá me parecendo pau de MediaLocator…ele é meio chato…

nem sempre o getLocator() funciona…principalmente em versoes diferentes de SO…tente usar new MediaLocator(“vfw://0”) no lugar de getLocator().

julianofischer

phpinheiro:
Cara…isso tá me parecendo pau de MediaLocator…ele é meio chato…

nem sempre o getLocator() funciona…principalmente em versoes diferentes de SO…tente usar new MediaLocator(“vfw://0”) no lugar de getLocator().

javax.media.NoPlayerException: Cannot find a Player for :vfw://0

saoj

Tem que entender JMF direitinho. No try and error é um parto fazer as coisas funcionarem com JMF. Eu já passei por isso.

Veja se isso te ajuda: http://jmf.mentaframework.org/

phpinheiro

Então juliano, isso é devido ao que falei das diferenças de SO e de tipos de webcam tambem.

O vfw pode variar dependendo do SO e da webcam. Ele pode ser:

“vfw:Logitech USB Video Camera:0” - para camera logitec por exemplo, alguns win 98
“vfw:Microsoft WDM Image Capture (Win32):0” - win XP
“Microsoft WDM Image Capture:0” - tambem win XP
“vfw:0” - rodou assim no meu vista

Um jeito fácil de saber é utilizar o JMStudio, que vem junto com o JMF. Faça uma captura de vídeo com ele e veja qual vfw ele registra. Se o vfw nao estiver registrado ele vai dar este erro que vc postou mesmo usando o Locator certo.

magalli

phpinheiro:
Então juliano, isso é devido ao que falei das diferenças de SO e de tipos de webcam tambem.

O vfw pode variar dependendo do SO e da webcam. Ele pode ser:

“vfw:Logitech USB Video Camera:0” - para camera logitec por exemplo, alguns win 98
“vfw:Microsoft WDM Image Capture (Win32):0” - win XP
“Microsoft WDM Image Capture:0” - tambem win XP
“vfw:0” - rodou assim no meu vista

Um jeito fácil de saber é utilizar o JMStudio, que vem junto com o JMF. Faça uma captura de vídeo com ele e veja qual vfw ele registra. Se o vfw nao estiver registrado ele vai dar este erro que vc postou mesmo usando o Locator certo.

Pinheiro como que faz para utilizar o JMStudio junto com om jmf para saber o vfw ??

Criado 14 de maio de 2009
Ultima resposta 18 de fev. de 2013
Respostas 8
Participantes 4