@Override
public void onPreviewFrame(byte[] data, Camera camera)
{
long timeStamp = SystemClock.elapsedRealtimeNanos();
// select current buffer
YuvImage yuvImg = (data == imgBuf1) ? yuvImg1 : yuvImg2;
// compress as JPEG
jpegBuf.reset();
yuvImg.compressToJpeg(imgArea, 90, jpegBuf);
// release buffer for next frame
camera.addCallbackBuffer(data);
// generate new data record
DataBlock newRecord;
if (latestRecord == null)
newRecord = dataStruct.createDataBlock();
else
newRecord = latestRecord.renew();
// set time stamp
double samplingTime = getJulianTimeStamp(timeStamp);
newRecord.setDoubleValue(0, samplingTime);
// set encoded data
AbstractDataBlock frameData = ((DataBlockMixed)newRecord).getUnderlyingObject()[1];
frameData.setUnderlyingObject(jpegBuf.toByteArray());
// send event
latestRecord = newRecord;
latestRecordTime = System.currentTimeMillis();
eventHandler.publishEvent(new SensorDataEvent(latestRecordTime, AndroidCameraOutputMJPEG.this, latestRecord));
}
AndroidCameraOutputMJPEG.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:osh-android
作者:
评论列表
文章目录