小编ach*_*ain的帖子

Android camera2捕获突发太慢了

我试图修改android-Camera2Basic代码来捕获一连串的图片.但是,在运行L 5.0.1的Nexus 5上,我无法在200-300ms之间获得图片之间的延迟.

我尝试了很多东西,但这是最基本的.这是我修改过的Camera2Basic代码的唯一部分.我的预览TextureView只有50x50dp,但这不重要,对吧?

对于它的价值,这段代码在我的Nexus 6上只有50-100ms的延迟,L 5.1.

private void captureStillPicture() {
    try {
        List<CaptureRequest> captureList = new ArrayList<CaptureRequest>();
        mPreviewRequestBuilder.addTarget(mImageReader.getSurface());

        for (int i=0;i<10;i++) {
            captureList.add(mPreviewRequestBuilder.build());
        }

        mCaptureSession.stopRepeating();
        mCaptureSession.captureBurst(captureList, cameraCaptureCallback, null);
        mPreviewRequestBuilder.removeTarget(mImageReader.getSurface());
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
}

CameraCaptureSession.CaptureCallback cameraCaptureCallback = new CameraCaptureSession.CaptureCallback() {
    @Override
    public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
            TotalCaptureResult result) {
        Log.d("camera","saved");
        mPictureCounter++;
        if (mPictureCounter >= 10)
            unlockFocus();
    }
};
Run Code Online (Sandbox Code Playgroud)

java android android-camera android-5.0-lollipop

12
推荐指数
2
解决办法
1万
查看次数