java实现录屏_java录屏截屏: 用java代码实现的录屏和截图截屏,并在springboot上实现...

由于习惯了springboot 所以就写在springboot上了,并暴露了一个接口来触发录屏功能

核心代码在fxbase包下的VideoRecorder类中 但是代码写的有点乱,使用者可以不必过度关注这个类 而是看看RecorderUtil,我将这个类注入到了ioc容器,这个类的getVideoRecorderInstance可以获取录屏对象 调用这个对象的start()和stop()方法来完成录制和结束,具体过程很简单,可以看RecorderController的调用过程

调用RecorderController的recorder接口就可以触发屏幕录制功能,在windows电脑上运行没问题,录制结束之后会抛出一个异常:org.bytedeco.javacv.FrameRecorder$Exception: No video output stream (Is imageWidth > 0 && imageHeight > 0 and has start() been called?),水平有限,不明所以,但是不影响功能,可以不必理会.

录屏:fxbase包下RecorderUtil类中的getVideoRecorderInstance可以获取录屏对象 调用这个对象的start()和stop()方法来完成录制和结束

截屏(截图): utils包下的 CutPicUtil里有个静态方法cutPic 可以用来截屏

application.properties配置文件可以用来配置去要录制和截屏的区域 以及录屏的默认时长 录像mp4文件和图片png文件的存储位置

注:声音也可以录制进去,但是我的需求里不需要 就把那段注掉了 需要的可以打开(VideoRecorder类的caputre()方法)

录屏需要的核心依赖-->org.bytedeco javacv和org.bytedeco.javacpp-presets具体请看pom.xml有就行,不必关注怎么用

也可以不用springboot这个框架来写,核心类就VideoRecorder 可以拿出来放到普通java类中放在main函数中触发录屏,但需要导核心依赖包

####注意:主函数的启动类不是SpringApplication.run(DemoApplication.class, args);不然触发录屏会报错。而是SpringApplicationBuilder builder = new SpringApplicationBuilder(VideoRecordeApplication.class);

builder.headless(false).run(args);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值