Я предполагаю, что ваш байтовый массив взят из предварительного просмотра камеры?Если это так, вы должны декодировать его, но с 2.2 это довольно легко.
Создайте YUV-изображение из байтового массива, поскольку данные будут только в ImageFormat.NV21( int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
прямоугольник того же размера, что и изображение.
Создайте ByteArrayOutputStream
и передайте его, прямоугольник и значение сжатия compressToJpeg()
.
Затем вы можете использовать
Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
Я использую это для каждого кадра в обратном вызове, и он отлично работает.Надеюсь, это поможет.