用udp传图像给android手机显示

用udp传图像给android手机显示

坚持沉默 发布于 2021-11-30 字数 3294 浏览 805 回复 2

@红薯 你好,想跟你请教个问题:

 

有时间的话,请帮我下。我想通过udp,在pc服务器给android手机客户端发送一组图片,在手机显示出来、、、我执行下面额代码
 的时候,手机上只显示第一张图片然后就不显示了。

还有我原本是想做一个手机上能够显示电脑录像传过来的实时视频,能不能给点建议。。。

public class VideoShower extends View implements Runnable {

  DatagramSocket socket;
  byte [] bytes = new byte[480*320*24];//图像的大小小于byte[]
  Bitmap bitmap;
  //用于同步线程
  Handler handler;
  public VideoShower(Context context) {
  super(context);
   try {
   socket = new DatagramSocket(9736);
  } catch (SocketException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
    handler = new Handler();

    new Thread(this).start();
  // TODO Auto-generated constructor stub
 }
 //用于显示的图片
  
 @Override//重载onDraw
 protected void onDraw(Canvas canvas)
 {
  // TODO Auto-generated method stub

  bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
  canvas.drawBitmap(bitmap, 0,0,null);
  
 }
  public void run()
  {
    while(true)
    { 
      handler.post(new Runnable() {     //等待接收图片的线程
       @Override
       public void run()
        {
        
       try
       {
      DatagramPacket picPacket = new DatagramPacket(bytes,bytes.length);
      socket.receive(picPacket);
       }
       catch (IOException e1)
       {
      e1.printStackTrace();
       }
       /**bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);**/
              invalidate();
        }
      });
       try
       {
        Thread.sleep(1);
       }
       catch (InterruptedException e)
       {
        e.printStackTrace();
       }
      
    }
  }
}

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝影如岚 2021-12-01 2 楼

您好,请问您的问题解决了吗,我也在做和你类似的问题,只不过我PC端想要传RGB数组,ANDROID将数组显示为图像,显示事实视频。您能把您的代码发给我吗,我想参考一下,网上想找这方面的代码比较难,百度搜到的都不好使,也不知到什么论坛有这方面的代码。谢谢。这是我的邮箱:lijundacom@163.com。麻烦你了。谢谢。

另外,对于实时视频您有什么建议吗,PC端的输出文件应处理成什么形式。

为你鎻心 2021-12-01 1 楼

楼主的问题解决了吗?