CameraCharacteristics etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
CameraCharacteristics etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Şubat 2018 Pazartesi

CameraCharacteristics Sınıfı

Giriş
android.hardware.camera2 paketindedir.
get metodu
Array Size
Şöyle yaparız.
Rect rect = characteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
Sensor Orientation
Şöyle yaparız.
public int getOrientation(final int cameraId) {
  try {
    String[] cameraIds = manager.getCameraIdList();
    CameraCharacteristics characteristics = manager.getCameraCharacteristics(
      cameraIds[cameraId]);
    return characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
  } catch (CameraAccessException e) {
    ...
    return 0;
  }
}
Ön Kamera - Front Camera
Şöyle kontrol ederiz.
Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);
if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {
...
}
Yüz Tespiti - Face Detection
Şöyle yaparız.
characteristics.get(CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT);
characteristics.get(CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES);

24 Ekim 2017 Salı

CameraManager Sınıfı

Giriş
android.hardware.camera2 paketindedir. Bu sınıfı kullanmak için şöyle yaparız
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  ...
}
constructor
Şöyle yaparız.
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
getCameraCharacteristics metodu
CameraCharacteristics nesnesi döner.
Örnek
Şöyle yaparız.
int cameraId = ...;
String[] cameraIds = manager.getCameraIdList();
CameraCharacteristics characteristics = manager.getCameraCharacteristics(
  cameraIds[cameraId]);
Örnek
Şöyle yaparız.
for (String cameraId : manager.getCameraIdList()) {
  CameraCharacteristics characteristics
                    = manager.getCameraCharacteristics(cameraId);

  ...
}
getCameraIdList metodu
Örnek
Şöyle yaparız.
String[] cameraIds = manager.getCameraIdList();
Örnek
İlk nesneyi almak için şöyle yaparız.
String cameraId = cameraManager.getCameraIdList()[0];
Örnek
Şöyle yaparız.
for (String cameraId : manager.getCameraIdList()) {...}
openCamera metodu
Şöyle yaparız.
final int cameraId = ...;

String[] cameraIds = manager.getCameraIdList();
manager.openCamera(cameraIds[cameraId], new CameraDevice.StateCallback() {
  @Override
  public void onOpened(CameraDevice camera) {
     ...
  }

  @Override
  public void onDisconnected(CameraDevice camera) {
    ...
  }

  @Override
  public void onError(CameraDevice camera, int error) {
    ...
  }
}, null);
registerTorchCallback metodu
Şöyle yaparız

manager.registerTorchCallback(torchCallback, null);// (callback, handler)
callback şöyledir.

CameraManager.TorchCallback torchCallback = new TorchCallback() {
  @Override
  public void onTorchModeUnavailable(String cameraId) {
    super.onTorchModeUnavailable(cameraId);
  }

  @Override
  public void onTorchModeChanged(String cameraId, boolean enabled) {
    super.onTorchModeChanged(cameraId, enabled);
    flashState = enabled;
  }
};
setTorchMode metodu
İlk nesneyi almak için şöyle yaparız.
String cameraId = cameraManager.getCameraIdList()[0];
Şöyle yaparız.
try {
  cameraManager.setTorchMode(cameraId,true);
} catch (CameraAccessException e) {
  ...
}