小编Vik*_*kas的帖子

在Android上使用Camera API2进行基于触摸的焦点

我正在尝试使用cameraApi2在Android上实现基于触摸的焦点.它有点工作,但它似乎并不总是适合我.我的实现如下:

首先,我使用以下步骤创建Camera PreviewSession:

mPreviewRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_AUTO);
Run Code Online (Sandbox Code Playgroud)

然后我调用createCaptureSession并在其中调用

mCaptureSession.setRepeatingRequest( mPreviewRequestBuilder.build(), mCaptureCallback, mBackgroundHandler);
Run Code Online (Sandbox Code Playgroud)

我已经实现了OnTouch Listener来捕获屏幕的触摸区域并生成AF区域

    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO);
    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_REGIONS, meteringRectangleArr);

    mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), mCaptureCallback, mBackgroundHandler);
Run Code Online (Sandbox Code Playgroud)

在captureCallback中,我在onCaptureCompleted中执行以下步骤

  mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
  mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);
  mCaptureSession.capture(mPreviewRequestBuilder.build(), null, mBackgroundHandler);


  mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
  mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_IDLE);
  mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null, mBackgroundHandler);
Run Code Online (Sandbox Code Playgroud)

触摸后,相机焦点有时会起作用,有时预览会完全模糊.

java android cameraapi2

9
推荐指数
1
解决办法
536
查看次数

从Android中的webview访问外部USB摄像头

我的Android应用中有一个webview.从webview,我可以在手机上访问默认相机.以下代码工作正常.

webview.setWebChromeClient(new WebChromeClient(){
    // Need to accept permissions to use the camera
    @Override
    public void onPermissionRequest(final PermissionRequest request) {
        L.d("onPermissionRequest");
        request.grant(request.getResources());
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是从这个webview访问外部USB摄像头.以上权限将打开webview中的默认摄像头.

我一直无法找到任何文件,甚至说这件事是可能的.是因为一些安全问题吗?

android webview usb-camera

5
推荐指数
1
解决办法
957
查看次数

提高Android应用程序的性能

我是相对较新的Android开发人员.我使用facebook api创建了一个社交礼品应用,并且在图像和数据方面不是很重.但是,它使用Web视图显示电子礼品卡.我通过实施以下步骤改进了它的性能.

1:使用MVC模式构建活动.
2:使用图像缓存.
3:使用java的URLConnection http调用而不是apache的http客户端.
4:使用Drawable填充颜色而不是使用图像.
5:专门为移动设备制作轻型REST后端呼叫.

我想知道你们是否可以提出简单有效的方法来改善Android应用程序的性能.

android android-layout

0
推荐指数
1
解决办法
148
查看次数

标签 统计

android ×3

android-layout ×1

cameraapi2 ×1

java ×1

usb-camera ×1

webview ×1