1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| import java.awt.MouseInfo;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import com.sun.jna.Native;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import com.sun.jna.NativeLibrary;
import javax.swing.JFrame;
public class IP_cam extends JFrame {
public EmbeddedMediaPlayerComponent mediaPlayerComponent;
private int posX; // Position X de la souris au clic
private int posY; // Position Y de la souris au clic
public static IP_cam cam;
public String address;
public IP_cam (){
setLocation(MouseInfo.getPointerInfo().getLocation().x, MouseInfo.getPointerInfo().getLocation().y);
setSize(384, 288);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setUndecorated(true);
setName("IP_cam");
addMouseListener(new MouseAdapter() {
@Override // On récupère les coordonnées de la souris
public void mousePressed(MouseEvent e) {
posX = e.getX();
posY = e.getY();
System.out.println("clic");
}
});
addMouseMotionListener(new MouseMotionAdapter(){
@Override // A chaque déplacement on recalcul le positionnement de la fenetre
public void mouseDragged(MouseEvent e){
int depX = e.getX() - posX;
int depY = e.getY() - posY;
cam.setLocation(getX()+depX, getY()+depY);
System.out.println("move");
}
});
}
public void IP_camera(String _address) {
address = _address;
java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
cam = new IP_cam();
cam.setVisible(true);
NativeLibrary.addSearchPath(
RuntimeUtil.getLibVlcLibraryName(), "c:/program files/videolan/vlc");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
cam.setContentPane(mediaPlayerComponent);
mediaPlayerComponent.getMediaPlayer().playMedia(address);
};
});
}
} |
Partager