Ciao a tutti!!
dovrei realizzare un applet che viene attivata da dei pulsati posti su una jsp , che da delle immagini crea un video .
La libreria utilizzata è JMF
Ho provato a realizzare l'applet fino ad adesso riesco attraverso il bottone start a realizzare dei screenshot poi con il bottone stop dovrei chiamare il metodo o classe che crea il video ma al momento della scrittura mi va in errore dicendo :
ma come è possibile se prima le immagini me le ha salvate???codice:Impossibile creare il DataSink: java.lang.RuntimeException: No permission to write files from applets![]()
Ecco il codice:
codice:import java.awt.*; import java.awt.image.BufferedImage; import java.applet.*; import java.io.File; import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; import javax.imageio.ImageIO; // Implement Runnable, this will make it possible for threads // to call the run method when activated. public class mainApplet extends Applet implements Runnable { int i=0; Thread threadFoto=null; boolean continua = false; boolean chiamato = false; public void start() { System.out.println("1"); if(chiamato) continua= true; threadFoto = new Thread(this); threadFoto.start(); } public void stop(){ System.out.println("2"); continua = false; if(threadFoto != null){ threadFoto.interrupt(); } threadFoto=null; } public void run(){ System.out.println("3"); while (continua){ i++; System.out.println("3a"); try { scattaFoto(i); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void stopFoto(){ System.out.println("stop Foto"); stop(); System.out.println("Crea video"); generaVideo.creaVideo(); } public void startFoto() { System.out.println("1"); chiamato = true; EventQueue.invokeLater(new Runnable(){ public void run() { start(); } }); } public void scattaFoto(int i) throws AWTException, IOException{ BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) ); Point p= MouseInfo.getPointerInfo().getLocation(); URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader(); URL fileLocation = urlLoader.findResource("cursor.gif"); BufferedImage cursor= ImageIO.read(fileLocation); screencapture.createGraphics().drawImage(cursor, p.x, p.y, null); ImageIO.write(screencapture, "jpg", new File("c:/image/screencapture"+i+".png")); } }
Continuaa...............

Rispondi quotando