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) {
  ...
}

Hiç yorum yok:

Yorum Gönder