package jmf.ex1;
import java.awt.Component;
import javax.swing.JFrame;
public class FrameVideo extends JFrame {
private GerenteJMF gerente;
private Component pnlVideo;
public FrameVideo()
{
try
{
this.inicializarJMF();
}
catch(Exception e)
{
e.printStackTrace();
}
this.setLayout(null);
this.setSize(350, 330);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
private void inicializarJMF()throws Exception
{
gerente = new GerenteJMF();
pnlVideo = gerente.getPanelVideo();
pnlVideo.setBounds(10, 10, 320, 240);
this.getContentPane().add(pnlVideo);
}
public static void main(String arg[])
{
new FrameVideo();
}
}
package jmf.ex1;
import java.awt.Component;
import java.util.Iterator;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
public class package jmf.ex1;
import java.awt.Component;
import java.util.Iterator;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
public class GerenteJMF
{
private Player playerVideo = null;
public Player getPlayerVideo() throws Exception
{
if(playerVideo == null)
{
CaptureDeviceInfo device = detectarDispositivoVideo();
MediaLocator ml = new MediaLocator(device.getName());
playerVideo = Manager.createRealizedPlayer(ml);
playerVideo.start();
}
return playerVideo;
}
public Component getPanelVideo() throws Exception
{
return this.getPlayerVideo().getVisualComponent();
}
private CaptureDeviceInfo detectarDispositivoVideo()
{
Iterator<CaptureDeviceInfo> it = CaptureDeviceManager.getDeviceList(null).iterator();
while(it.hasNext())
{
CaptureDeviceInfo device = it.next();
String nome = device.getName();
if(nome.startsWith("v"))
return device;
}
return null;
}
}
CaptureDeviceManager.getDeviceList(null).iterator();