Я хочу захватить видео с соотношением сторон 4: 3 с камеры, обращенной к андроиду, с использованием Camera2 API (добавлено в версии 5.0 для Android). Он работает правильно, если камера не имеет матрицу 16: 9 (в качестве фронтальной камеры на Samsung Galaxy S5). В этом случае изображение выглядит растянутым, как если бы изображение было снято 16: 9 и сжато в поверхность 4: 3, предоставленную MediaRecorder.Захват изображения камеры 4: 3 с помощью андроида Camera2 API на фотокамере с матрицей сенсора 16: 9
В соответствии с документацией не должно быть никакой дополнительной конфигурации, если размер MediaRecorder установлен на один из размеров, предоставленный getOutputSizes(MediaRecorder.class). Камера должна автоматически обрезать картинку, чтобы она соответствовала размеру поверхности MediaRecorder.
Я проверил также ситуацию с обратным адресом - запись видеоизображения 16: 9 на камеру с матрицей сенсора 4: 3 (фронтальная камера Nexus-5). Он работает правильно - изображение обрезается до 16: 9.
Я предполагаю, что это ошибка в API андроида, но хотелось бы увидеть, есть ли что-то, что я пропустил здесь.
Самый простой способ воспроизвести эту проблему - использовать пример приложения camera2Basic, предлагаемый Google, следующим change, который переключается на использование фронтальной камеры и размера 4: 3 для предварительного просмотра. Он работает правильно на Nexus-5, но обеспечивает растянутое изображение на Samsung Galaxy S5. Ниже снимок экрана приложения camera2Basic на Samsung Galaxy S5 (android 5.0).
Вы поняли, как решить эту проблему? или в этом случае ничего нельзя сделать? – Droidwala
@Droidwala Я не нашел обходного пути для этого. –