Pessoal,
Estou começando agora com JMF e já fiz uns programas simples que rodam músicas, vídeos e webcam. Até agora estou gostando muito desse framework, mas estou achando que a webcam demora muito para ser iniciada. Está demorando cerca de 7 segundos. Aplicações como o Windows Live Messenger conseguem iniciar a webcam em cerca de 2 segundos.
Eu entendo que o Live Messenger deve ter sido feito em C# ou alguma outra coisa mais baixo nível que java, mas acho 7 segundos tempo demais. Queria saber se alguém sabe de um jeito para que a webcam não demore tanto pra iniciar.
Aqui está a parte do meu código que trabalha com a camera:
package model;
import java.awt.Component;
import java.io.IOException;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
public class Model {
static Player player;
ControllerListener clistener;
public Model() {
try {
player = Manager.createPlayer(new MediaLocator("vfw://0"));
player.addControllerListener(new ouvinte());
start();
} catch (NoPlayerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void start() {
player.start();
}
public void stop() {
player.stop();
player.close();
}
public void setControllerListener(ControllerListener cl) {
clistener = cl;
}
private class ouvinte implements ControllerListener {
public void controllerUpdate(ControllerEvent cevent) {
clistener.controllerUpdate(cevent);
}
}
public Component getVisualComponent() {
return player.getVisualComponent();
}
public Component getControlPanelComponent() {
return player.getControlPanelComponent();
}
}
Os outros métodos sao só controladores e JFrames. Nada demais.