2013-07-15 13 views
8

Ich versuche, ein Video mit einer Absicht aufzunehmen, und die Qualität des Videos ist hoch und die Größe ist höher als 5 MB.EXTRA_VIDEO_QUALITY wird ignoriert

Ich bin mit Samsung Galaxy S mit Android 4.2.2

Hier ist mein Code:

  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 gerootet Telefon – user1940676

+0

Meinten Sie: http://en.wikipedia.org/wiki/Samsung_Galaxy_S – TN888

Antwort

8

Überprüfen Sie die Dokumentation für MediaStore.EXTRA_VIDEO_QUALITY

Es sagt aus, dass Wert 0 niedrige Qualität bedeutet. Sie könnten Ihren Wert auf 1 ändern.

Und der Wert für 5Mb würde ich auf 5491520L setzen.

zusammen könnten alle sein:

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);