我已经为使用笔记本电脑摄像头的应用创建了一个GUI,当我按下记录时,我可以从中录制视频,但是我还想显示摄像头看到的内容。因此,我的问题是我的标签没有在循环中显示摄像机的图像。循环完成并完成记录后,它将显示我的最后一张图片。
void startInregistrare() throws InterruptedException
{
File saveFile=new File("saved.mp4");
IMediaWriter writer=ToolFactory.makeWriter(saveFile.getName());
Dimension size=WebcamResolution.VGA.getSize();
writer.addVideoStream(0, 0, ICodec.ID.CODEC_ID_H264,size.width,size.height);
long start=System.currentTimeMillis();
Webcam cameraWeb=openWebcam(size);
for(int i=0;i<100;i++)
{
BufferedImage image=ConverterFactory.convertToType(cameraWeb.getImage(),BufferedImage.TYPE_3BYTE_BGR);
IConverter converter=ConverterFactory.createConverter(image, IPixelFormat.Type.YUV420P);
IVideoPicture frame1=converter.toPicture(image,(System.currentTimeMillis()-start)*1000);
frame1.setKeyFrame(i==0);
frame1.setQuality(100);
writer.encodeVideo(0, frame1);
Thread.sleep(20);
lblLabel.setIcon(new ImageIcon(image));
}
writer.close();
System.out.println("Finished recording");
cameraWeb.close();
}