【问题标题】:Android UDP-JPG StreamAndroid UDP-JPG 流
【发布时间】:2015-04-29 18:29:35
【问题描述】:

我将使用 C++ 转换为字节的 jpg 发送到 Android 上的 UDP 客户端。

我知道我可以使用 BufferedReader 和 ImageIO 将字节转换为 JPG,但这在 Android 中有效吗?

InputStream in = new ByteArrayInputStream(bytes);

BufferedImage bufferImage = ImageIO.read(in);

我应该将 jpg 打印到 ImageView 还是有更好的方法?

摩托罗拉 Moto G 的 CPU 是否足够快,可以每秒转换 15 帧左右?

【问题讨论】:

  • 即使除了您的要求之外,您也需要意识到您需要一些东西来处理丢弃和重新排序的数据包,因为 UDP 允许两者,否则您将得到至少被间隙损坏的帧,尤其是在 wifi 上在城市环境中。也许在性能良好的网络上,您只需进行完整性检查而不显示任何损坏的帧即可。

标签: java android inputstream android-bitmap


【解决方案1】:

我收到一个 udp 数据数组并将其传递给一个文件,然后像这样传递给位图

    public void procesar( ByteArrayOutputStream imagen) {
    Log.d("IMAGEN_PROCESSING", "INSIDE....");
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath();
    File file = new File(fullPath, "something" + timeStamp + ".png");
    try {
        File dir = new File(fullPath);
        if (!dir.exists()) {
            dir.mkdirs();
        }

        OutputStream fOut = null;
        file.createNewFile();
        fOut = new FileOutputStream(file.getPath());
        Log.d("File created", file.getAbsolutePath());
        fOut.write(imagen.toByteArray());
        if(fOut!=null){fOut.close();}

    } catch (Exception e) {
    }

    Bitmap bmp = BitmapFactory.decodeByteArray(imagen.toByteArray(),0,imagen.toByteArray().length);
    notification(context,bmp,file);

}

希望这会有所帮助...

【讨论】:

  • 为视频的每一帧创建一个文件有点荒谬
  • 正确。我没有仔细阅读问题,我以为他在管理图片。
猜你喜欢
  • 2018-03-16
  • 1970-01-01
  • 2020-02-29
  • 2017-11-25
  • 2015-01-05
  • 2016-05-17
  • 1970-01-01
  • 2015-08-24
  • 2018-10-26
相关资源
最近更新 更多