安卓自定义相机,通过onPreviewFrame采集并解析视频,NV21转化为jpeg
通过onPreviewFrame采集解析视频,代码如下
Size size = camera.getParameters().getPreviewSize(); // 获取预览大小
final int w = size.width; // 宽度
final int h = size.height;
final YuvImage image = new YuvImage(mData, ImageFormat.NV21, w, h,
null);
ByteArrayOutputStream os = new ByteArrayOutputStream(mData.length);
if (!image.compressToJpeg(new Rect(0, 0, w, h), 80, os)) {
return null;
}
byte[] data = os.toByteArray();
解析传来的data可以实现保存,但是保存后的图像通过bitmap = BitmapFactory.decodeFile(jpgFile);转化为Bitmap显示在屏幕上时,每隔几次崩溃一次,也就是利用这个进行拍照每隔几次拍的时候就崩溃了,这是为什么,有什么解决办法?