2013-07-15 16 views
8

Próbuję nagrać film z intencją, a jakość filmu jest wysoka, a jego rozmiar przekracza 5mb.EXTRA_VIDEO_QUALITY jest ignorowana

używam Samsung Galaxy S z systemem Android 4.2.2

Oto mój kod:

  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 zrootowany telefon – user1940676

+0

Czy miałeś na myśli: http://en.wikipedia.org/wiki/Samsung_Galaxy_S – TN888

Odpowiedz

8

Zapoznaj się z dokumentacją dla MediaStore.EXTRA_VIDEO_QUALITY

Mówi ona, że ​​wartość 0 oznacza niską jakość. Możesz zmienić wartość na 1.

I wartość 5Mb I ustawiłaby na 5491520L.

Wszystko razem może być:

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); 
Powiązane problemy