Camera MediaRecorder / CamcorderProfile - PullRequest
       34

Camera MediaRecorder / CamcorderProfile

2 голосов
/ 17 января 2011

Это моя проблема, я разрабатываю программное обеспечение, которое использует камеру и записывает видео, все работает, но я не могу определить, как управлять настройками, например, у меня Samsung Galaxy S, который может записывать видео на 1280x720 , но когда я устанавливаю это разрешение с помощью:

CamcorderProfile profile;
profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
profile.videoFrameWidth = 1280;
profile.videoFrameHeight = 720;
profile.videoFrameRate = 30;
recorder.setProfile(profile);

logcat показывает эти сообщения:

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame width (1280) is too large and will be set to (128849019680)

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame height (720) is too large and will be set to (1078895784755680)

и параметры автоматически масштабируются до 800x480

1 Ответ

2 голосов
/ 13 мая 2011

Не совсем уверен, почему вы используете CamcorderProfile, Android-документ упоминает, что это только для чтения.

Если вы хотите установить размер видеозаписи 1280x720, то

  • Получите список поддерживаемых размеров видео из параметров камеры (просто чтобы убедиться, что размер вашего чкхотите установить, поддерживается устройством) -

    public List<Camera.Size> getSupportedVideoSizes () 
    
  • Затем вызовите установить размер видео на медиа-рекордер -

    public void setVideoSize (int width, int height) 
    
...