2013-07-15 5 views
8

Я пытаюсь записать видео с намерением, а качество видео высокое, а размер выше 5 МБ.EXTRA_VIDEO_QUALITY игнорируется

Я использую Samsung Galaxy S работает Android 4.2.2

Вот мой код:

  Intent i = new Intent("android.media.action.VIDEO_CAPTURE"); 
      // i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, 
      // Uri.fromFile(FileUtils.getFileName(FileTypes.VIDEO))); 
      i.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0); 
      i.putExtra(android.provider.MediaStore.EXTRA_SIZE_LIMIT, 5242880); 
      i.putExtra("android.intent.extra.durationLimit", 45); 
      startActivityForResult(i, Config.RECORD_VIDEO); 
+0

Samsung Galaxy S1?! – TN888

+0

@ Ty221 с корневым телефоном – user1940676

+0

Вы имели в виду: http://en.wikipedia.org/wiki/Samsung_Galaxy_S – TN888

ответ

8

Заканчивать документация для MediaStore.EXTRA_VIDEO_QUALITY

Он говорит, что значение 0 означает низкое качество. Вы можете изменить свое значение на 1.

И значение для 5Mb я бы установил на 5491520L.

Все вместе может быть:

import android.provider.MediaStore; 
... 


Intent i = new Intent(MediaStore.VIDEO_CAPTURE); 
... 
i.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
i.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 5491520L);//5*1048*1048=5MB 
i.putExtra(MediaStore.EXTRA_DURATION_LIMIT,45); 
startActivityForResult(i, Config.RECORD_VIDEO);