通过蓝牙套接字轻松发送位图

时间:2016-05-18 16:35:39

标签: android bluetooth android-bitmap

我有一个能够通过蓝牙套接字发送位图的基本应用程序。他们唯一的问题是延迟非常大(每张图像大约20秒)。在应用程序中,客户端发送位图,服务器接收位图。客户端从TextureView获取位图并运行:

byte[] data = BitmapDataObject.bytesFromBitmap(bitmapToSend);
Logger.logE("CLIENT got byte array");
os.write(data.length);
Logger.logE("CLIENT wrote length of data");
os.flush();
Logger.logE("CLIENT flushed data");
in.nextLine();
Logger.logE("CLIENT read a line");
os.write(data,0,data.length);
Logger.logE("CLIENT wrote array to buffer");
os.flush();

BitmapDataObject.bytesFromBitmap(bitmapToSend)看起来像

public static byte[] bytesFromBitmap(Bitmap map){
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    map.compress(Bitmap.CompressFormat.PNG, 100, baos);
    return baos.toByteArray();
}

服务器接收位图并通过Bitmap map = BitmapDataObject.bitmapFromStream(is);解析它,看起来像

public static Bitmap bitmapFromStream(InputStream is){
    Bitmap decoded = BitmapFactory.decodeStream(is);
    return Bitmap.createScaledBitmap(decoded, 100, 100, true);
}

我正在寻找优化方法。服务器端位图的分辨率/质量对我来说并不重要(虽然我希望它至少为360p),如果需要,我愿意深入NDK。< / p>

0 个答案:

没有答案