Просматривал видео с камеры2 образец приложения, опубликованное Google, и один из методов выглядит следующим образом:
/**
* In this sample, we choose a video size with 3x4 aspect ratio. Also, we don't use sizes
* larger than 1080p, since MediaRecorder cannot handle such a high-resolution video.
*
* @param choices The list of available sizes
* @return The video size
*/
private static Size chooseVideoSize(Size[] choices) {
for (Size size : choices) {
if (size.getWidth() == size.getHeight() * 4 / 3 && size.getWidth() <= 1080) {
return size;
}
}
Log.e(TAG, "Couldn't find any suitable video size");
return choices[choices.length - 1];
}
Я возился со своей собственной реализацией camera2 и попытался записать видео 4K с помощью медиа-рекордера, который работал нормально - записанный файл сообщил о размерах 3840 × 2160.
Итак, является ли комментарий в образце неверным или MediaRecorder не может обрабатывать большие разрешения на Lollipop, но поддерживает Marshmallow или что-то еще?
choices
в этом методе взят изCameraCharacteristics
/StreamConfigurationMap
getOutputSize - который, как я думал, был собран из профиля оборудования камеры? Непонятно .. - person vkislicins   schedule 11.11.2015