Макет предварительного просмотра видеозахвата должен быть квадратным - как Android Instagram, приложение Vine
Я видел приложение Instagram и Vines, размер предварительного просмотра захваченного видео и размер воспроизводимого видео, такой же и квадратный. Я проверил, что он поддерживает Android версии 4.0.
Я создал предварительный просмотр камеры как http://pastebin.com/TvDn4eWt
но пропорции видео выглядят немного сжатыми, как в приложении Instagram и Vines.
Я пытался изменить ширину и высоту измерения. но не использовать. видео выглядит сжатым, но работает на версии 2.3.
как создать захват видео и играть, как в приложении Instagram и Vine. тот же размер?
1 ответ
Я уверен, что получить надежно работающее приложение с использованием стандартного API Android невозможно для того, что вы хотите. Использование формата видео, которого нет в списке поддерживаемых предварительных просмотров / поддерживаемых размеров видео, на многих устройствах создаст известную исключительную ситуацию IllegalStateException при запуске Android MediaRecorder.
Я проверил Вайн. Они действительно могут создавать видео в квадратном формате даже на моем Samsung Galaxy Tab 3 7.1, что, как и большинство современных устройств Samsung, весьма разумно, когда дело доходит до установки правильных параметров видео. Удивительно!
Я бы предположил, что разработчики Vine Android написали свою собственную версию MediaRecorder и / или свою собственную версию держателя поверхности для предварительного просмотра и позволили этим классам вырезать квадрат из видеопотока, который исходит из камеры.
Если вы хотите попробовать что-то вроде этого: Удачи в вашей миссии, вам придется глубоко погрузиться в источники инфраструктуры Stagefreight, которая представляет собой большую группу источников C++, заключенных в тонкий верхний слой Java API-классов. Я не рекомендовал бы попробовать это.