⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shiping.txt

📁 文件视屏操作,传输视屏不错哦,代码很短小
💻 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 + -