Согласно этой странице
https://developer.android.com/guide/topics/media/c... я могу отправить "в камеру" некоторые инструкции, такие как:
MediaStore.EXTRA_OUTPUT - This setting requires a Uri specifying a path and file name where you'd like to save the video. This setting is optional but strongly recommended. If you do not specify this value, the Camera application saves the requested video in the default location with a default name, specified in the returned intent's Intent.getData() field.
MediaStore.EXTRA_VIDEO_QUALITY - This value can be 0 for lowest quality and smallest file size or 1 for highest quality and larger file size.
MediaStore.EXTRA_DURATION_LIMIT - Set this value to limit the length, in seconds, of the video being captured.
MediaStore.EXTRA_SIZE_LIMIT - Set this value to limit the file size, in bytes, of the video being captured.
Я попытался использовать 1 из параметров (MediaStore.EXTRA_VIDEO_QUALITY):
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURE);
и это ооочень странный параметр.
Во-первых, он не только меняет разрешение на минимальное, но и изменяет получаемое соотношение до 4:3.
Во-вторых, получаемое 15-и секундное изображение весит ~300-500 кб, когда как его совершенно аналогичный собрат без этого параметра - 30 МБ. Это явный перебор.
Мне не надо 30 МБ видео (т.к. его предстоит еще отправить по сети, скорее всего чаще через мобильное соединение), но и 0.3 МБ - явный перебор. Параметр 0.5 воспринимается камерой как 0 (да и не описана такая возможность.
PS Да, видео уже ограничено по времени - 15 секунд.