Открытие второй камеры с помощью многокамерного API Camera2Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Открытие второй камеры с помощью многокамерного API Camera2

Сообщение Anonymous »

Я работаю над приложением для камеры, которое сможет записывать видео с двух задних камер телефона. У меня есть функция OpenCamera, которая позволяет открыть основную заднюю камеру, но не может открыть сверхширокую камеру. Мы будем очень признательны за любую информацию о том, как работать с многокамерным API.
Приведенная ниже функция открывает первую камеру, но не может открыть вторую. UltraWideCallback достигает состояния ошибки.
private void openCamera() {

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
CameraManager ultraWideManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
Log.e(TAG, "is camera open");
try {
cameraId = manager.getCameraIdList()[0];
ultraWideID = ultraWideManager.getCameraIdList()[2];
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
assert map != null;
imageDimension = map.getOutputSizes(SurfaceTexture.class)[0];

// Add permission for camera and let user grant the permission
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CAMERA_PERMISSION);
return;
}

// This call works
manager.openCamera(cameraId, stateCallback, null);

// The below code does not open the second camera
CameraCharacteristics ultraWideCharacteristics = manager.getCameraCharacteristics(ultraWideID);
StreamConfigurationMap ultraWideMap = ultraWideCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
assert ultraWideMap != null;

ultraWideManager.openCamera(ultraWideID, ultraWideCallback, null);

} catch (CameraAccessException e) {
e.printStackTrace(); // No exception occurs
}
Log.e(TAG, "openCamera");
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... camera-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android Camera2 API переключатель назад - передние камеры
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Camera2 API -переключение камеры во время записи
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Camera2 API -переключение камеры во время записи
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Выходные данные камеры всегда обрезаются с помощью Android Camera2/CameraX. Как показать полный вид?
    Anonymous » » в форуме Android
    0 Ответы
    70 Просмотры
    Последнее сообщение Anonymous
  • Открытие приложения с помощью Java SE приводит к исключению Java, но открытие его с помощью OpenJDK работает.
    Anonymous » » в форуме JAVA
    0 Ответы
    87 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»