【发布时间】:2014-05-15 12:48:56
【问题描述】:
我想从相机的手机中获取帧。所以,我尝试捕捉视频并使用 matlab 来查找该视频的每秒帧数,我每 10 秒得到 250 帧。但是当我使用
public void onPreviewFrame(byte[] data, Camera camera) {}
在 Android 上,我每 10 秒只能获得 70 帧。 你知道为什么吗?我把我的代码放在下面:
private Camera.PreviewCallback previewCallBack = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
System.out.println("Get frame " + frameNumber);
if (data == null)
throw new NullPointerException();
Camera.Parameters p = camera.getParameters();
Camera.Size size = p.getPreviewSize();
if (frameNumber == 0) {
startTime = System.currentTimeMillis();
}
// Log.e("GetData", "Get frame " + frameNumber);
frameNumber++;
camera.addCallbackBuffer(data);
}
}
【问题讨论】: