我想将h264帧字节数据转换为Bitmap数组,以便可以将其提供给其他来源,我尝试过:
@Override
public ARCONTROLLER_ERROR_ENUM onFrameReceived(ARDeviceController
deviceController,
ARFrame frame) {
byte[] data = frame.getByteData();
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
if(bitmap != null){
// do something
}
return ARCONTROLLER_ERROR_ENUM.ARCONTROLLER_OK;
}
但是它不起作用,decodeByteArray无法解码帧返回的字节数据,并且始终返回null。
有什么建议么?
答案 0 :(得分:2)
BitmapFactory.decodeByteArray()
根本无法做到这一点。这是不受支持的格式。
由于P帧,B帧和I帧之类的复杂性,需要一个状态多一些的类才能解码任意H.264帧:
Here是一个相当不错的代码示例。还有更多。