java 录制_Java屏幕录像

//记录屏幕、类似录像

packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;public class WnetWScreenRecorder extendsThread {privateDimension screenSize;privateRectangle rectangle;privateRobot robot;private long i = 0;

@SuppressWarnings("unused")privateJPEGImageEncoder encoder;publicWnetWScreenRecorder() {

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

rectangle= new Rectangle(screenSize);//可以指定捕获屏幕区域

try{

robot= newRobot();

}catch(Exception e) {

e.printStackTrace();

System.out.println(e);

}

}public static voidmain(String[] args) {newWnetWScreenRecorder().start();

}public voidrun() {

FileOutputStream fos= null;while (true) {try{

BufferedImage image= robot.createScreenCapture(rectangle);//捕获制定屏幕矩形区域

fos = new FileOutputStream("C:\\records\\" + i + ".png");

JPEGCodec.createJPEGEncoder(fos).encode(image);//图像编码成JPEG

fos.close();

i= i + 1;

Thread.sleep(25);//每秒25帧

} catch(Exception e) {

e.printStackTrace();

System.out.println(e);try{if (fos != null)

fos.close();

}catch(Exception e1) {

}

}

}

}

}//记录屏幕、类似录像

packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;public class WnetWScreenRecorder extendsThread {privateDimension screenSize;privateRectangle rectangle;privateRobot robot;private long i = 0;

@SuppressWarnings("unused")privateJPEGImageEncoder encoder;publicWnetWScreenRecorder() {

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

rectangle= new Rectangle(screenSize);//可以指定捕获屏幕区域

try{

robot= newRobot();

}catch(Exception e) {

e.printStackTrace();

System.out.println(e);

}

}public static voidmain(String[] args) {newWnetWScreenRecorder().start();

}public voidrun() {

FileOutputStream fos= null;while (true) {try{

BufferedImage image= robot.createScreenCapture(rectangle);//捕获制定屏幕矩形区域

fos = new FileOutputStream("C:\\records\\" + i + ".png");

JPEGCodec.createJPEGEncoder(fos).encode(image);//图像编码成JPEG

fos.close();

i= i + 1;

Thread.sleep(25);//每秒25帧

} catch(Exception e) {

e.printStackTrace();

System.out.println(e);try{if (fos != null)

fos.close();

}catch(Exception e1) {

}

}

}

}

}//记录屏幕、类似录像

packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;

@SuppressWarnings("serial")//播放屏幕录像

public class WnetWScreenRecordPlayer extendsJFrame {

BorderLayout borderLayout1= newBorderLayout();

Dimension screenSize;publicWnetWScreenRecordPlayer() {super();

screenSize=Toolkit.getDefaultToolkit().getScreenSize();this.setSize(screenSize);

Screen p= newScreen();

Container c= this.getContentPane();

c.setLayout(borderLayout1);

c.add(p,"Center");newThread(p).start();this.setVisible(true);

}public static voidmain(String[] args) {newWnetWScreenRecordPlayer();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值