Pessoal gostaria setar a quantidade de frames po segundo na minha aplicação JMF.
É uma aplicação simples que captura vídeo de uma webcam.
Segue abaixo meu código:
public class JanelaTestaCamera extends JFrame{
private Processor processor;
private Container container;
private Player player;
private JMenuBar barraMenu;
private JMenu menuUtilitarios;
private JMenu menuSair;
public JanelaTestaCamera(String cameraName, MediaLocator locator) throws CannotRealizeException, NoPlayerException, IOException, NoDataSourceException{
super(cameraName);
barraMenu = new JMenuBar();
menuUtilitarios = new JMenu(“Utilitários”);
menuSair = new JMenu(“Sair”);
menuSair.addMenuListener(new MenuListener(){
public void menuSelected(MenuEvent e) {
closePlayer();
dispose();
}
public void menuDeselected(MenuEvent e) {}
public void menuCanceled(MenuEvent e) {}
});
barraMenu.add(menuUtilitarios);
barraMenu.add(menuSair);
setJMenuBar(barraMenu);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING){
closePlayer();
}
}
});
setSize(300, 350);
setLocation(100, 50);
setResizable(false);
container = getContentPane();
container.setLayout(new FlowLayout());
DataSource source = Manager.createDataSource(locator);
source.connect();
player = Manager.createRealizedPlayer(source);
FrameRateControl frameRateControl = (FrameRateControl)player.getControl ( "javax.media.control.FrameRateControl" );
if (frameRateControl != null)
System.out.println(frameRateControl.setFrameRate(1));
container.add(player.getVisualComponent());
container.add(player.getControlPanelComponent());
player.start();
show();
}
private void closePlayer(){
player.close();
}
}
A parte pra setar frame por segundo é (FrameRateControl)player.getControl ( “javax.media.control.FrameRateControl” );
if (frameRateControl != null)
System.out.println(frameRateControl.setFrameRate(1));
mas não seta. Alguem pode me ajudar?
Desde de já agradeço. Obrigado.