6 import android.graphics.SurfaceTexture;
7 import android.util.Log;
15 static final int REQUEST_CAMERA_PERMISSION = 200;
24 Log.i(TAG,
"camera 1.0");
27 MaxstARJNI.CameraDevice_setCameraController(instance);
31 static void destroy() {
32 MaxstARJNI.CameraDevice_releaseCameraController();
45 SurfaceTexture cameraSurfaceTexture;
50 this.surfaceManager = surfaceManager;
57 abstract int start(
int cameraId,
int width,
int height);
61 abstract int getWidth();
63 abstract int getHeight();
65 abstract boolean setFocusMode(
int focusMode);
67 abstract boolean setFlashLightMode(
boolean toggle);
69 abstract boolean setAutoWhiteBalanceLock(
boolean toggle);
71 abstract Object [] getParamList();
73 abstract boolean setParam(String key, String value);
75 CameraSize getOptimalPreviewSize(List<CameraSize> sizes,
int preferredWidth,
int preferredHeight) {
76 double minRegion = Double.MAX_VALUE;
79 Log.i(TAG,
"" + size.width +
"," + size.height);
80 if (size.width <= preferredWidth && size.height <= preferredHeight) {
81 if (Math.abs(size.width * size.height - preferredWidth * preferredHeight) <= minRegion) {
82 minRegion = Math.abs(size.width * size.height - preferredWidth * preferredHeight);
85 Log.i(TAG,
"Prefer Preview width : " + preferredWidth +
" height : " + preferredHeight);
86 Log.i(TAG,
"Optimal Preview width : " + optimalSize.width +
" height : " + optimalSize.height);
94 static native
void setNewCameraFrame(byte[] data,
int length,
int width,
int height,
int format);