【Java】多线程(以java webcam实现视频功能为例)

本文通过Java实现视频功能,探讨为何需要多线程,介绍如何打开视频、启动多线程,以及线程类的基本知识,并提供相关代码示例。
摘要由CSDN通过智能技术生成

【Java】多线程(以实现视频功能为例)

step1:如何实现视频

视频是由一幅幅的画实现的,因此我们做的只有两件事情:
1)找到一个可以调用摄像头的接口
2)利用这个接口获取每时每刻的画面
3)不断的循环把这些画面画出来

step2:为什么关不掉?(需要多线程的原因)

我们在实现step3的第一步打开视频之后发现,我们虽然可以实现这个功能,但是关!不!上!了!
WHY?
因为程序是顺序执行的,我们写了一个死循环…
这个死循环都没有执行完,之后再怎么往后执行呢?
于是我们陷入了沉思…因为不用循环出不了视频,但是只要在循环里面,点击都点击不了…
因为点击的程序,现在被占住了啊!!!点击从程序现在在画画呢,咋给你处理点击?
因此,我们想,这样的话,能不能实现两个程序同时在执行呢?
一个随时响应着等待着我的指令,一个工作着画出摄像头捕捉到的图像
因此便引入了线程的概念。我们的计算机基本都是多线程在执行命令啊,都是用的这个思路。这也是为什么你可以开多个网页的原因。
响应你命令的线程把参数返回到画图的那个线程里面,那个线程接到信号就停止工作,这样就完成我们的思考和设计了!

step3:实现

打开视频

首先我们需要引入接口打开视频,这个就需要我们引入相应的jar包,我们需要的有这些jar包
在这里插入图片描述
链接:https://pan.baidu.com/s/14o45g2hAnc40-wsi5Zl-xQ
提取码:wm1f

这里整理好了需要可以直接用~
之后用IDEA导入jar包:
File-----Project Structure-----Modules-----Dependencies----"+"------"JARs or Directories…"再导入就可以了~
导入之后这几行代码就可以完成视频功能(当然前提是你要自己写一个JFrame啦!就是这个里面的变量g)

 Webcam webcam = Webcam.getDefault();
            webcam.open();

            while (true) {
   
                // 获取摄像头拍到的数据
                BufferedImage bufferedImage = webcam.getImage();
                g.drawImage(bufferedImage, 100, 100,500,400, null);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值