Я пытался вставить кнопку переключения в примере «Цветочная классификация», чтобы включить и выключить камеру. sh.
Итак, я добавил этот код:
onOffFlash.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int index = getCameraId();
camera = Camera.open(index);
if (isChecked) {
// The toggle is enabled
Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
} else {
// The toggle is disabled
Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.startPreview();
}
}
});
}
Но приложение ломается, и в Android Studio появляется следующая ошибка:
2020-05-04 16:08:07.024 29730-29730/org.tensorflow.lite.examples.classification I/Camera: open camera: 0, package name: org.tensorflow.lite.examples.classification
2020-05-04 16:08:07.026 29730-29730/org.tensorflow.lite.examples.classification I/HwCameraUtil: notifySurfaceFlingerCameraStatus : isFront = false , isOpend = true
2020-05-04 16:08:07.225 29730-29730/org.tensorflow.lite.examples.classification I/informação: Desligado!
2020-05-04 16:08:07.238 29730-29730/org.tensorflow.lite.examples.classification V/AudioManager: querySoundEffectsEnabled...
2020-05-04 16:08:07.251 29730-29730/org.tensorflow.lite.examples.classification I/HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
2020-05-04 16:08:07.252 29730-29730/org.tensorflow.lite.examples.classification E/Camera: Error 2
Я думаю, что ошибка исходит из строки, потому что я все прокомментировал, и здесь была ошибка:
camera = Camera.open(index);