2013-07-15 17 views
8

ビデオをインテントで録画しようとしましたが、ビデオの品質が高く、サイズが5MBを超えています。私はここでアンドロイド4.2.2EXTRA_VIDEO_QUALITYは無視されます

を実行しているサムスンのギャラクシーSを使用しています

は私のコードです:

  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

サムスンギャラクシー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); 
関連する問題