Я пытаюсь записать видео на Samsung Galaxy S2. Я использовал обычные вычисления, чтобы выяснить лучшие размеры предварительного просмотра, и это вернуло 720x480 или 800x480 в зависимости от алгоритма. Полный список возвращения из getParameters().getSupportedPreviewSizes()
выглядит следующим образом:Android-камера setPreviewSize
"640х480", "720x480", "800x480", "320x240", "176x144"
Установка этих превью выглядит хорошо в начале. Кажется, это запись видео, однако после остановки камеры нет видеозаписи.
Если я получаю значения высоты и ширины от CamcorderProfile.get(mCameraId, CamcorderProfile.QUALITY_HIGH);
и устанавливаю эти значения для моего предварительного просмотра (1920x1080) (который не должен поддерживаться, как его нет в списке?), Запись работает нормально. Это действительно озадачивает.
Там нет ошибок, я могу видеть в журналах, это просто не записывать видео ...
Спасибо за ваш ответ! Я прочитаю связанный пост. Быстрый вопрос: getSupportedVideoSizes, добавленный в API11, есть ли альтернатива API10? Кроме того, я полагаю, что размеры предварительного просмотра, видео и изображения - это три разные вещи. Я просто не понимаю, почему установка допустимого размера, возвращаемого getSupportedPreviewSizes, не работает при настройке размера предварительного просмотра на значения в профиле камеры (который должен быть только для видео правильно?) - делает – vkislicins
, это зависит от реализации камеры (возможно, samsung сделал некоторые предположения по умолчанию), может случиться так, что она не будет работать на всех устройствах. альтернативы для API 10 нет, камера - всего лишь оболочка для собственных вызовов. поэтому создать некий пакет поддержки, который работает в более старых версиях на множестве устройств, непросто. –