Ola amigos do Forum, estou comecando agora a estudar Java para Web, tenho um software que trabalha com reconhecimento de imagem atravez do fluxo de video desenvolvido J2SE, agora estou tentando, disponibilizar alguns funcionalidades dele para web a intencao e enviar o fluxo de video do capturado da webcam do servidor para o cliente, mas primeiro estava tentando so capturar o fluxo de video do cliente mesmo para alguns testes e nem isso estou conseguindo :(.
Montei um JavaAplet que captura o video , mas quando executo o html do aplet no navegador ai ele nao consegue capturar:
public class JAppletTeste extends javax.swing.JApplet {
/** Initializes the applet JAppletTeste */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextFieldX = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jLabel1.setText("X");
jLabel1.setName("jLabel1"); // NOI18N
jTextFieldX.setText(" ");
jTextFieldX.setName("jTextFieldX"); // NOI18N
jLabel2.setText("Y");
jLabel2.setName("jLabel2"); // NOI18N
jTextField1.setText(" ");
jTextField1.setName("jTextFieldY"); // NOI18N
jButton1.setText("jButton1");
jButton1.setName("jButton1"); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("jButton2");
jButton2.setName("jButton2"); // NOI18N
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.setName("jPanel1"); // NOI18N
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 268, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 238, Short.MAX_VALUE)
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 39, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextFieldX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jButton1, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jButton2, javax.swing.GroupLayout.Alignment.TRAILING))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(36, 36, 36)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextFieldX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton2))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(51, Short.MAX_VALUE))
);
}// </editor-fold>
public javax.media.Player getPlayer(){
return player;
}
public javax.swing.JPanel getJPanelVideo() {
if (jPanel1 == null) {
jPanel1 = new javax.swing.JPanel();
//jPanel1.setLayout(new javax.swing.GridBagLayout());
//jPanel1.setLocation(new Point(3, 3));
//jPanelVideo.setSize(new Dimension(800, 480));
getJPlayer().setVisible(true);
jPanel1.add(getJPlayer());}
return jPanel1;
}
public void addVideo(){
getJPlayer().setVisible(true);
jPanel1.add(getJPlayer());
//jPanel1.re
}
public java.awt.Component getJPlayer() {
if (jPlayer == null) {
try
{
//AKI que esta meu codigo de captura do Video
Vector deviceList = CaptureDeviceManager.getDeviceList(new YUVFormat());
device = (CaptureDeviceInfo) deviceList.firstElement();
//System.out.println("a::"+device);
ml = device.getLocator();
player = Manager.createRealizedPlayer(ml);
player.start();
jPlayer = player.getVisualComponent();
//jPlayer.addMouseListener(new EventosDeMouseNoComponent());
jPlayer.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
jPlayer.setBounds(0,0,640,480);
}
return jPlayer;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
FabricaDeTemplate F= FabricaDeTemplate.Getinstance(getPlayer());
F.SalvaImagem("d://imagem.jpg");
// TODO add your handling code here:
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.getJPlayer();
this.addVideo();
// TODO add your handling code here:
}
public CaptureDeviceInfo device;
public javax.media.MediaLocator ml;
private java.awt.Component jPlayer;
private javax.media.Player player;
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextFieldX;
// End of variables declaration
}
Espero que possam me ajudar.