📄 shiping.txt
字号:
public void run() {
DatagramPacket pack = null;
DatagramSocket maildata = null;
byte data[] = new byte[320 * 240];
try {
// 定义数据包
pack = new DatagramPacket(data, data.length);
// 定义数据报接收包
//addr是我要接收的目的ip地址。
// 这里面由于条件限制,接收方和发送方均为同一机器
InetAddress addr = InetAddress.getByName("192.168.0.131");
maildata = new DatagramSocket(42050,addr);
} catch (Exception e) {
System.out.println(maildata);
}
while (device != null) {
if (Thread.currentThread() == thread1) {
if (maildata == null) {
break;
} else {
try {
// 接收
maildata.receive(pack);
ByteArrayInputStream input = new ByteArrayInputStream(data);
Image message = ImageIO.read(input);
// 在接收图像窗口显示视频图像
label2.setIcon(new ImageIcon(message));
label
.setText("对方IP:" + pack.getAddress() + " 端口:" + pack.getPort());
} catch (Exception e) {
System.out.println("接收图像数据失败!");
}
}
} else if (Thread.currentThread() == thread2) {
try {
// 捕获要在播放窗口显示的图象帧
FrameGrabbingControl fgc = (FrameGrabbingControl) player
.getControl("javax.media.control.FrameGrabbingControl");
// 获取当前祯并存入Buffer类
buffer = fgc.grabFrame();
b2i = new BufferToImage((VideoFormat) buffer.getFormat());
image = b2i.createImage(buffer); // 转化为图像
// 创建image图像对象大小的图像缓冲区
BufferedImage bi = (BufferedImage) createImage(image.getWidth(null),
image.getHeight(null));
// 根据BufferedImage对象创建Graphics2D对象
Graphics2D g2 = bi.createGraphics();
g2.drawImage(image, null, null);
ByteArrayOutputStream output = new ByteArrayOutputStream();
// 转换成JPEG图像格式
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
JPEGEncodeParam jpeg = encoder.getDefaultJPEGEncodeParam(bi);
jpeg.setQuality(0.5f, false);
encoder.setJPEGEncodeParam(jpeg);
encoder.encode(bi);
output.close();
//address 是我要发送的对象的ip地址
InetAddress address = InetAddress.getByName("192.168.0.131");
DatagramPacket datapack1 = new DatagramPacket(output.toByteArray(),
output.size(), address, 42050);
DatagramSocket maildata1 = new DatagramSocket();
maildata1.send(datapack1);
Thread.sleep(400);
} catch (Exception e) {
System.out.println("视频发送失败!");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -