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

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