я получаю следующее сообщение об ошибкеИсключение java.lang.RuntimeException: SetParameters не удалось
Exception java.lang.RuntimeException: setParameters failed
android.hardware.Camera.native_setParameters (Camera.java)
android.hardware.Camera.setParameters (Camera.java:1946)
в коде ниже. Я не знаю, что я делаю ниже.
Camera mCamera = Camera.open();
Parameters params = mCamera.getParameters();
if (params.getFlashMode() != null)
params.setFlashMode(Parameters.FLASH_MODE_OFF);
if (nightMode && params.getSceneMode() != null)
params.setSceneMode(Parameters.SCENE_MODE_NIGHT);
if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
} else if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
} else if (params.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
params.setFocusMode(Parameters.FOCUS_MODE_INFINITY);
}
mCamera.setParameters(params);
Эта ошибка возникает в некоторых устройствах, таких как samsung в основном. Обращение за помощью. Спасибо заранее.
То же самое верно для других параметров. На некоторых устройствах все может показаться странным, так как выбор режима сцены может противоречить режиму фокусировки и т. Д. Единственный способ безопасно управлять устройствами, которые вы не проверяли конкретно, - это всегда улавливать RuntimeException на setParameters(), а также вызывать getParameters() сразу после этого, потому что setParameters() также может терпеть неудачу молча. Иногда logcat (для обслуживания системных камер) может дать вам намек на то, что пошло не так. –
Вы правы, я проверяю это решение на живых устройствах. Я обязательно отмечу это как принятое после проверки. – SimpleCoder