Java在线视频聊天(3)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:34 点击:

  //接收

  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();

  InetAddress address=InetAddress.getByName("localhost");

  DatagramPacket datapack1=new DatagramPacket(output.toByteArray(),output.size(),教育视频,

  address,555);

  DatagramSocket maildata1=new DatagramSocket();

  maildata1.send(datapack1);

  Thread.sleep(400);

  }

  catch(Exception e)

  {

  System.out.println("视频发送失败!");

  }

  }

  }

  }

  public static void main(String args[])

  {

  new VAplay();

  }

  }

  class TxtChat extends JPanel implements ActionListener,Runnable

  {

  JPanel p1,p2,p3,p4;

  JLabel jpic;

  JTextArea txt1,txt2;

  JButton btn1,btn2;

  JScrollPane scroll,scroll2;

  Thread thread;

  boolean boo1=false,boo2=false;

  TxtChat()

  {

  setLayout(new BorderLayout());

  txt1=new JTextArea();

  txt2=new JTextArea();

  p1=new JPanel(new GridLayout(2,1));

  p2=new JPanel();

  p3=new JPanel(new BorderLayout());

  jpic=new JLabel(new ImageIcon("image//upload.gif"));

  btn1=new JButton("电子文档");

  btn2=new JButton("发送信息");

  scroll=new JScrollPane(txt1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,

  JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Java编程语言的八大优点
  • JVM对象生命周期详细介绍
  • Java平台上的CRM系统
  • Java 算数测试小程序
  • Java环境 使用Resin在NT环境下配置JSP环境
  • Command(命令模式)
  • Java 一个简单的画图程序
  • Java 日历的小程序
  • Java 统计代码的小工具
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1