2015-06-05 2 views
2

Я пытаюсь записать видео на Samsung Galaxy S2. Я использовал обычные вычисления, чтобы выяснить лучшие размеры предварительного просмотра, и это вернуло 720x480 или 800x480 в зависимости от алгоритма. Полный список возвращения из getParameters().getSupportedPreviewSizes() выглядит следующим образом:Android-камера setPreviewSize

"640х480", "720x480", "800x480", "320x240", "176x144"

Установка этих превью выглядит хорошо в начале. Кажется, это запись видео, однако после остановки камеры нет видеозаписи.

Если я получаю значения высоты и ширины от CamcorderProfile.get(mCameraId, CamcorderProfile.QUALITY_HIGH); и устанавливаю эти значения для моего предварительного просмотра (1920x1080) (который не должен поддерживаться, как его нет в списке?), Запись работает нормально. Это действительно озадачивает.

Там нет ошибок, я могу видеть в журналах, это просто не записывать видео ...

ответ

1
getParameters().getSupportedPreviewSizes() 

дает размеры предварительного просмотра для камеры, а не размеры записи или фотографии размеров.

для записи видео, есть и другие поддерживаемые размеры как для фотографий, которые вы можете увидеть в документации по:

http://developer.android.com/reference/android/media/CamcorderProfile.html

получить поддерживаемые размеры видео просто позвоните:

getParameters().getSupportedVideoSizes() 

, поэтому вам нужно установить как предварительный просмотр, так и размер записи.

, как вы могли бы сделать это, в ответил здесь: How to record video of particular width and height on samsung device android?

+0

Спасибо за ваш ответ! Я прочитаю связанный пост. Быстрый вопрос: getSupportedVideoSizes, добавленный в API11, есть ли альтернатива API10? Кроме того, я полагаю, что размеры предварительного просмотра, видео и изображения - это три разные вещи. Я просто не понимаю, почему установка допустимого размера, возвращаемого getSupportedPreviewSizes, не работает при настройке размера предварительного просмотра на значения в профиле камеры (который должен быть только для видео правильно?) - делает – vkislicins

+0

, это зависит от реализации камеры (возможно, samsung сделал некоторые предположения по умолчанию), может случиться так, что она не будет работать на всех устройствах. альтернативы для API 10 нет, камера - всего лишь оболочка для собственных вызовов. поэтому создать некий пакет поддержки, который работает в более старых версиях на множестве устройств, непросто. –

Смежные вопросы