我需要从我的 camera2getFrameNumber
接收到的 Image 对象。ImageReader
目前,我收到以下代码的不同时间戳,因此,我无法映射回调getFrameNumber
。CameraResult
CameraCaptureSession.CaptureCallback captureListenerLeft = new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) {
super.onCaptureCompleted(session, request, result);
Log.d(TAG, "#### Camera Preview: FrameNumber:[" + result.getFrameNumber()+"] TimeStamp:[" + result.get(CaptureResult.SENSOR_TIMESTAMP) / 1000000 + "] Expo:[" +result.get(CaptureResult.SENSOR_EXPOSURE_TIME)+ "] FrameDuration:[" + result.get(CaptureResult.SENSOR_FRAME_DURATION) + "]");
}
};
现在在 ImageReader 回调:-
ImageReader.OnImageAvailableListener mImgLeftCameraListener=new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader imageReader) {
try{
Image mImage=imageReader.acquireNextImage();
long mTimeStap=mImage.getTimestamp()/1000000;
mImage.close();
}catch (Exception exc){
exc.printStackTrace();
}
}
};
现在的问题是图像阅读器mTimeStap
与值不匹配result.get(CaptureResult.SENSOR_TIMESTAMP) / 1000000
,所以我无法映射 getFrameNumber。
注意:我的 android 是为 Qualcomm 820 构建的 7.1.1 自定义操作系统。